0
我有这样的λlambda表达式:λx(λy(λz.x(YZ))。)翻译lambda表达式到方案
我试图写一个计划表达出来的。
我这样做:
(define (f x)(lambda(y z) (f (y z))))
是吗?如果不是,我做错了什么?
我有这样的λlambda表达式:λx(λy(λz.x(YZ))。)翻译lambda表达式到方案
我试图写一个计划表达出来的。
我这样做:
(define (f x)(lambda(y z) (f (y z))))
是吗?如果不是,我做错了什么?
我不太清楚有关拉姆达格式,但我认为你需要这样的:
(define (f x) (lambda (y) (lambda (z) (x (y z)))))
,你可以使用它像这样:
(((f sqrt) 1+) 3)
2.0
进出口使用Win 7的和DrRacket: 我把(define(fx)(lambda(y)(lambda(z)(x(yz)))))并按回车,一切正常。 但是,当我尝试使用它像你建议我得到的:“在定义之前引用标识符:1+”你能解释为什么吗? – krunarsson
@endif:'1 +'在球拍中被称为'add1'。 –
球拍中没有1+的绑定。尝试使用add1。 –