我试图通过 Scheme 了解教堂编码的整个原则。我想我了解它的基础知识,例如
0 的教堂数字
(定义 c-0 (lambda (f) (lambda (x) x)))
1 的教堂数字
(定义 c-1 (lambda (f) (lambda (x) (fx))))
...并继续将函数应用于 x N 次。
现在我的问题是这一切意味着什么?如果我以 Church-3 为例:
(define c-3
(lambda (x)
(lambda (f)
(f (f (f x))))))
这实际上在做什么?我也只有基本的方案知识,但我什至不明白如何使用该功能?使用 c-3 函数的示例输入是什么?它只是像循环一样应用3次吗?