Alc*_*ive 5 lisp scheme combinators lambda-calculus y-combinator
为了了解固定点组合器是什么和用于什么,我写了自己的.但不是用严格的匿名函数编写它,比如维基百科的例子,我只使用了define:
(define combine (lambda (functional)
(functional (lambda args (apply (combine functional) args))))
Run Code Online (Sandbox Code Playgroud)
我用factorial和fibonacci的函数来测试它,它似乎工作.这是否符合定点组合器的正式定义?
编辑:当chessweb或其他任何人证实他的答案,暂时认为他的答案是正确的,这一个错误.
似乎答案是肯定的.显然,完全相同的组合子出现在页面的中间位置:
(define Y
(lambda (f)
(f (lambda (x) ((Y f) x)))))
Run Code Online (Sandbox Code Playgroud)
答案是否定的,因为根据上一个答案中提到的博客,它甚至不符合组合器的定义,因为“组合”是一个自由变量。
| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |