Recursion 在OCaml中的模块中相互调用的函数

Recursion 在OCaml中的模块中相互调用的函数,recursion,module,call,ocaml,Recursion,Module,Call,Ocaml,我有一个关于ocaml的问题,我是初学者:-) 下面是我试图做的一个例子:(我知道这是没有意义的,但它不是我真正的代码,它只是一个例子) 设func a b=a 设func2ab=b 让func_a b= 如果b

我有一个关于ocaml的问题,我是初学者:-)

下面是我试图做的一个例子:(我知道这是没有意义的,但它不是我真正的代码,它只是一个例子)

设func a b=a
设func2ab=b
让func_a b=
如果b<0,则
func_b a
其他的
函数a b
让func_b a b=
如果a<0,则
职能2 a b
其他的
func_a b a
问题是:
函数a中第一个“if”中的未绑定值函数b…

如果有人能帮忙的话

编辑:我理解为什么这是未绑定的,但我不知道如何修复它

非常感谢

Max

关键字是:

设func a b=a
设func2ab=b
让rec func_a b=
如果b<0,则
func_b a
其他的
函数a b
和func_b a b=
如果a<0,则
职能2 a b
其他的
func_a b a
let func a b = a
let func2 a b = b

let func_a a b =
    if b < 0 then
       func_b b a
    else
       func a b

let func_b a b =
    if a < 0 then
       func2 a b
    else
       func_a b a
let func a b = a
let func2 a b = b

let rec func_a a b =
    if b < 0 then
       func_b b a
    else
       func a b

and func_b a b =
    if a < 0 then
       func2 a b
    else
       func_a b a