20-CS-4003-001 Organization of Programming Languages Fall 2017

Lambda calculus, Type theory, Formal semantics, Program analysis

    Prev     Next     All lectures           Code

Lambda - Y Combinator

((lambda (x) (+ x 1)) 6)
 -  In the next sequence of slides the Y combinator, one of the fundamental results of recursive procedure theory, is derived. This is possible due to the fact that the body of a (lambda (..) ...) procedure is not evaluated until the procedure is invoked.

You already know that in some cases it is not necessary to give a procedure a name. For example, the code to the left adds 1 to 6 without naming the procedure that does it. But, what about a recursive procedure?