我想做这样的事情:
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 f () =
let
fun a() = b()
and b() = a() (* There is no 'fun' keyword before b() *)
in
()
end