在 SML 中隐藏相互递归函数
Hiding mutual recursive functions in SML
我有两个严重依赖彼此的功能。每一个都必须使用另一个才能执行所需的任务。
我在用SML的时候用了and
运算符
问题是我需要隐藏每一个不是主要功能的功能。我被教导使用 local
来执行此操作,但我从未遇到过这种情况,我不明白这样的事情在语法上是如何工作的。
我指的是这样的东西:
local
f()
in
g()
end;
有什么办法吗?
您需要第三个 "main" 函数来开始 – 您的本地 f
不能与 g
.
相互递归
像这样:
local
fun f x = something with g
and g x = something with f
in
fun h x = whatever
end
我有两个严重依赖彼此的功能。每一个都必须使用另一个才能执行所需的任务。
我在用SML的时候用了and
运算符
问题是我需要隐藏每一个不是主要功能的功能。我被教导使用 local
来执行此操作,但我从未遇到过这种情况,我不明白这样的事情在语法上是如何工作的。
我指的是这样的东西:
local
f()
in
g()
end;
有什么办法吗?
您需要第三个 "main" 函数来开始 – 您的本地 f
不能与 g
.
像这样:
local
fun f x = something with g
and g x = something with f
in
fun h x = whatever
end