标签: recursion functional-programming interpreter compiler-construction
考虑以下递归函数顶级绑定:
let f = (a => f a);
(其中arg => expr是lambda表达式)
arg => expr
要在全球环境中定义f,首先我们必须评估f的值,即a => f a。但由于f尚未定义,因此表达式a => f a会导致错误。
f
a => f a
函数式语言解释器/编译器如何处理这个问题?