Pergunta

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?

Foi útil?

Solução

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top