Einige Leute behaupten, dass scala mit rekursiven Strukturtypen umgehen kann, wenn Sie die Option -Yrecursion von scalac verwenden. Dennoch meine minimalistische Beispiel lässt sich nicht kompilieren:Werden rekursive Strukturtypen in scala nicht mehr unterstützt?
type Num = {
def +(n: Num): Num
}
Compilation liefert:
$ scalac -version
Scala compiler version 2.8.0.final -- Copyright 2002-2010, LAMP/EPFL
$ scalac -Yrecursion 100 Num.scala
Num.scala:3: error: recursive method + needs result type
def +(n: Num): Num
^
one error found
diese Änderung nicht wahr? Sollte das Beispiel nicht kompilieren?
Siehe auch http://stackoverflow.com/questions/3201577/scala-how-to-define-a-structural-type-that-ref-zur- sich selbst – Jesper
Vielen Dank für die Referenz. Sieht so aus, als würde sich diese Frage immer wieder stellen. – gruenewa