Albert Reiner wrote:
> > (((lambda (y) (lambda (x) (* x y))) 10) 2)
>
> You want to use funcall as ((lambda (y) (lambda (x) (* x y))) 10)
> returns a function
>
> ,----
> | (funcall ((lambda (y) (lambda (x) (* x y))) 10) 2)
> | 20
> `----
>
> > This, however, works:
> >
> > ((lambda (y) ((lambda (x) (* y x)) 10)) 2)
>
> Because you call the function (lambda (y) ((lambda (x) (* y x)) 10))
> with argument 2, which results in the function (lambda (x) (* y x))
> being called with argument 10 and y bound to 2.
>
> Albert.
Thanks, it's clear to me now !