我挠头想弄清楚这个函数的签名
let make_rec f_norec =
let rec f x = f_norec f x in
f
应该是
val make_rec : (('a -> 'b) -> 'a -> 'b) -> 'a -> 'b = <fun>
.
注意有一个奇怪的递归定义。肯定我错过了一些知识。谁能告诉我如何计算函数的类型(就像类型推断系统一样)?
太谢谢了。
我挠头想弄清楚这个函数的签名
let make_rec f_norec =
let rec f x = f_norec f x in
f
应该是
val make_rec : (('a -> 'b) -> 'a -> 'b) -> 'a -> 'b = <fun>
.
注意有一个奇怪的递归定义。肯定我错过了一些知识。谁能告诉我如何计算函数的类型(就像类型推断系统一样)?
太谢谢了。