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 = { ... }
}

Теперь вопрос: как я могу избавиться от этих скобок после вычисления? возможно ли? если да, то как? просто их опущение в определении не помогает из-за ошибок компиляции.

6
задан wrm 7 February 2012 в 09:32
поделиться