Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私はこのようなことをしたいと思います:
fun f () = let fun a() = b() and fun b() = a() in () end
ここで、aとbは賢明な相互再帰関数です。ただし、これにより次のことが可能になります。
Error: syntax error: replacing AND with SEMICOLON
これを行う方法はありますか?
SML での相互再帰関数の宣言は、fun ... and ...ブロックでマークされます。
fun ... and ...
fun f () = let fun a() = b() and b() = a() (* There is no 'fun' keyword before b() *) in () end