【发布时间】:2016-01-03 23:08:25
【问题描述】:
假设我们有一种不支持数字或布尔值的编程语言:lambda 是它提供的唯一值。
教会数字使用 lambdas 来创建数字的表示。这个想法与自然数的函数表示密切相关,即有一个表示“零”的自然数和一个返回给定自然数的后继的函数“succ”。
(define zero (lambda (f) (lambda (x) x)))
(define (add-1 n)
(lambda (f) (lambda (x) (f ((n f) x)))))
如果我有另一个lambda
(define pluss4 (lambda(x) (+ x 4))
我可以像这样测试它:(pluss4 0),我看到答案是4
如何测试教堂数字并看到一些结果?
【问题讨论】: