У меня есть это лямбда-лямбда-выражение: λx.(λy.(λz.x(yz)))
Я пытаюсь написать из него выражение Scheme.
Я сделал это:
(define (f x)(lambda(y z) (f (y z))))
Это правильно? Если нет, то что я делаю неправильно?
У меня есть это лямбда-лямбда-выражение: λx.(λy.(λz.x(yz)))
Я пытаюсь написать из него выражение Scheme.
Я сделал это:
(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
1+
в Racket называется add1
.
- person Matthias Benkard; 19.09.2011