在SML中隐藏相互递归函数

在SML中隐藏相互递归函数,sml,Sml,我有两个相互依赖的功能。每个人都必须使用另一个来执行所需的任务 我使用SML中的和运算符时使用了它们 问题是我需要隐藏每一个不是主函数的函数。我被教导使用local来执行此操作,但我从未遇到过这种情况,我无法理解这样的东西在语法方面是如何工作的 我指的是这样的事情: local f() in g() end; 有什么方法可以做到这一点吗?您需要第三个“main”函数来启动程序–您的本地f不能与g相互递归 像这样: local fun f x = something with g

我有两个相互依赖的功能。每个人都必须使用另一个来执行所需的任务

我使用SML中的
运算符时使用了它们

问题是我需要隐藏每一个不是主函数的函数。我被教导使用
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