有人可以简单描述放松的价值限制何时开始?我很难找到简明扼要的规则描述.那是加里格的论文:
http://caml.inria.fr/pub/papers/garrigue-value_restriction-fiwflp04.pdf
但它有点密集.有谁知道一个简单的来源?
附录
下面添加了一些很好的解释,但我无法找到有关以下行为的解释:
# let _x = 3 in (fun () -> ref None);;
- : unit -> 'a option ref = <fun>
# let _x = ref 3 in (fun () -> ref None);;
- : unit -> '_a option ref = <fun>
Run Code Online (Sandbox Code Playgroud)
任何人都可以澄清以上内容吗?为什么封闭let的RHS内的ref的迷失定义会影响启发式.
ocaml ×1