[plt-scheme] Applicative-order Y Combinator

From: Lightstar (laalaalovesu at yahoo.com)
Date: Sat May 23 14:11:14 EDT 2009

How does this function work? (below)
I think that it is recursion but I have never seen anything use itself as a parameter before... ( (lambda (f) (f f)) ) could you explain this to me please?

(define Y
  (lambda (le)
    ((lambda (f) (f f))
     (lambda (f)
       (le (lambda (x) ((f f) x)))))))

Posted on the users mailing list.