Вопрос

I have this lambda lambda expression : λx.(λy.(λz.x(yz)))

I'm trying to write a Scheme expression out of it.

I did this:

(define (f x)(lambda(y z) (f (y z))))

Is that right? If not, what am I doing wrong?

Это было полезно?

Решение

I'm not quite sure about that lambda notation but I think you need this:

(define (f x) (lambda (y) (lambda (z) (x (y z)))))

and you can use it like this:

(((f sqrt) 1+) 3)
2.0
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top