对于 Church 数字的后继和前任,我有以下代码:考虑以下代码:
(define zero (lambda () '() )) ; Initialize Church numeral zero as nil
(define (succ x) (lambda () x)) ; Wraps x with another function and returns it
(define (pred x) (x)) ; "Unwraps" one shell function of x and returns it
(define one (succ zero)) ; gives me the Church numeral one
(pred one)
假设我在 pred 函数中进行了以下更改:
(define (pred x) x)
返回 x 和 (x) 有什么区别?返回 (x) 在语法和逻辑上究竟意味着什么?