2007-11-01

Y-combinator的推导

这两天稍微有空了一点。正开小差的时候,xuan哥踱步进来,说好久没来关心俺了, 视察了一番丢下一句“没事休息休息,有空补补文档。”两眼泪汪汪啊!于是一气呵成,翻译了一篇文章,关于Y-combinator的推导过程。

--[节选]--
本文试图推导Y-combinator,递归函数理论的基本硕果之一。或许你已经知道,某些情况下给函数绑定一个名字并非必要之举,例如:

((lambda (x) (+ x 1)) 6)

对6进行增一操作,但并未给进行该操作的函数命名。对于递归函数,情况又是如何呢?例如:

(define fact
 (lambda (n)
  (if (zero? n)
    1
    (* n (fact (- n 1))))))

函数fact计算数值n的阶乘,并且看起来它需要一个名字`fact',这样在最后一行可以递归调用自身。然而我们将会发现这不是必需的。


--[全文]--
http://live4thee.googlepages.com/ycomb.pdf.gz

标签:

0 Comments:

发表评论

<< Home