【发布时间】:2020-12-05 02:56:17
【问题描述】:
我试图通过比较其他函数式编程语言和概念中的类似功能来了解 recursive set 在内部是如何运作的。
我可以在wiki 找到它。在那,我需要知道 Y 组合子,不动点。我可以在wiki 得到它。
那么,现在我开始在 Haskell 中应用它。
哈斯克尔
它是easy。但我想知道幕后花絮。
*Main> let x = y; y = 10; in x
10
【问题讨论】:
-
您想在给变量赋值之前使用它?
-
@Shawn 是的。在nix set中,如果没有
rec,就不知道后面要赋值的变量。 -
我很确定你不能在 ocaml 中做到这一点。
-
@Shawn 因为eager eval?比如Java、C++、Python?
-
当你说“我试图理解递归集是如何在函数中运行的(不仅仅是范围检查)。”,我不明白你的意思。您的意思是“功能操作”还是“以功能语言操作”?以及“操作”是什么意思?如“我如何使用”或“操作语义是什么”或“它如何在内部运行”?