Sto creando una piccola scala DSL e sto correndo il seguente problema a cui non ho davvero una soluzione. Un piccolo esempio concettuale di ciò che voglio raggiungere:Scala DSL: metodo di concatenazione con metodi parametrici
(Compute
write "hello"
read 'name
calc()
calc()
write "hello" + 'name
)
il codice che definisce questo dsl è più o meno questo:
Object Compute extends Compute{
...
implicit def str2Message:Message = ...
}
class Compute{
def write(msg:Message):Compute = ...
def read(s:Symbol):Compute = ...
def calc():Compute = { ... }
}
Ora la domanda: come posso liberarmi di queste parentesi dopo calc ? È possibile? se é cosi, come? semplicemente ometterli nella definizione non aiuta a causa di errori di compilazione.
Yay! Difficile!))) – noncom