Scala DSL: объединение методов без параметров
я создаю небольшой scala DSL и сталкиваюсь со следующей проблемой, решение которой у меня действительно нет. Небольшой концептуальный пример того, чего я хочу достичь:
(Compute
write "hello"
read 'name
calc()
calc()
write "hello" + 'name
)
код, определяющий этот dsl, примерно такой:
Object Compute extends Compute{
...
implicit def str2Message:Message = ...
}
class Compute{
def write(msg:Message):Compute = ...
def read(s:Symbol):Compute = ...
def calc():Compute = { ... }
}
Теперь вопрос: как я могу избавиться от этих скобок после calc? Является ли это возможным? если да, то как? просто пропустить их в определении не поможет из-за ошибок компиляции.