2008年09月13日18:59 カテゴリScalaからの乗り換え Scalaから乗り換えて当惑したこと 相互再帰 複数の型のあいだの相互再帰は、同一モジュール(とうぜん同一ファイル)の型の間でしか許されず、 type Foo = EmptyFoo | Bar of Bar and Bar = EmptyBar | Foo of Foo;; のように書かなければならない。 Scalaにはこんな制限はない。別クラスに属するcase class同士で相互再帰してもぜんぜん大丈夫。 複数の関数のあいだの相互再帰も同一モジュール(とうぜん同一ファイル)の型の間でしか許されず、 let rec even (x: int) = if x = 0 then true else if x > 0 then odd (x - 1) else even -x and odd (x: int) = if x =