【发布时间】:2014-07-16 06:57:04
【问题描述】:
我知道 OCaml 提供了let rec ... and ... 用于定义相互递归函数。为什么我不能使用该表达式来定义相互递归的值?
特别是,为什么我不能做类似let rec x=3 and y=x+5 in x 的事情,但我可以做let rec x=3 and y=[x;4] in y?
对于第一种情况,我试图给我一个答案,我认为这是一个绑定“问题”,因为值的绑定应该是同时的,所以 y 不知道 x 的值所以我不能把它加到常数 5 的值上。 是真的吗?
【问题讨论】: