【发布时间】:2011-09-18 20:18:50
【问题描述】:
我有这个 lambda lambda 表达式:λx.(λy.(λz.x(yz)))
我正在尝试用它编写一个 Scheme 表达式。
我这样做了:
(define (f x)(lambda(y z) (f (y z))))
对吗?如果没有,我做错了什么?
【问题讨论】:
我有这个 lambda lambda 表达式:λx.(λy.(λz.x(yz)))
我正在尝试用它编写一个 Scheme 表达式。
我这样做了:
(define (f x)(lambda(y z) (f (y z))))
对吗?如果没有,我做错了什么?
【问题讨论】:
我不太确定那个 lambda 表示法,但我认为你需要这个:
(define (f x) (lambda (y) (lambda (z) (x (y z)))))
你可以这样使用它:
(((f sqrt) 1+) 3)
2.0
【讨论】:
1+ 在 Racket 中被称为 add1。