摘要:
Y组合子是用于lambda演算中实现递归逻辑的。当我们用erlang实现一个递归的匿名函数来完成阶乘,第一印象应该会写成如下这种形式:F = fun(1) -> 1; (N) -> N * F(N -1) end.如果我们在程序代码中按照这种方式书写,在数学推演中是不可能的,(虽然现代编程语言中有些编译器可以识别的),因为在lambda函数定义时,F还根本没有意义。这时候我们该怎么办呢, 如果要实现这种递归函数, 我能想到的就是把这个F变成约束变量,那么可以假设出另外存在一个高阶函数,将F作为参数传递进去,则得到F = fun(Func) -> fun(1) -> 1; 阅读全文
posted @ 2013-01-05 18:09
文武双全大星星
阅读(710)
评论(0)
推荐(0)


浙公网安备 33010602011771号