为了了解固定点的组合器是什么,我写了自己的作品。但是,与其使用严格的匿名函数编写它,例如 维基百科的例子, ,我只是使用了Define:

(define combine (lambda (functional)
                  (functional (lambda args (apply (combine functional) args))))

我已经使用功能和斐波那契进行了测试,并且似乎可以使用。这是否符合定点组合器的形式定义?

有帮助吗?

解决方案

答案是否定的,因为根据 上一个答案中提到的博客, ,甚至不符合 组合器, ,因为“组合”是一个自由变量。

其他提示

编辑:虽然Chessweb或其他任何人都证实了他的答案,但暂时认为他的答案正确,这是错误的。


似乎答案是肯定的。显然出现了完全相同的组合器 这里, ,页面中途:

(define Y
    (lambda (f)
      (f (lambda (x) ((Y f) x)))))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top