y组合使用定义方案中的组合器
-
11-10-2019 - |
题
为了了解固定点的组合器是什么,我写了自己的作品。但是,与其使用严格的匿名函数编写它,例如 维基百科的例子, ,我只是使用了Define:
(define combine (lambda (functional)
(functional (lambda args (apply (combine functional) args))))
我已经使用功能和斐波那契进行了测试,并且似乎可以使用。这是否符合定点组合器的形式定义?
解决方案
答案是否定的,因为根据 上一个答案中提到的博客, ,甚至不符合 组合器, ,因为“组合”是一个自由变量。
其他提示
编辑:虽然Chessweb或其他任何人都证实了他的答案,但暂时认为他的答案正确,这是错误的。
似乎答案是肯定的。显然出现了完全相同的组合器 这里, ,页面中途:
(define Y
(lambda (f)
(f (lambda (x) ((Y f) x)))))
不隶属于 StackOverflow