let Y = lambda G. (lambda g. G(g g)) (lambda g. G(g g)) in let F = lambda f. lambda n. if n=0 then 1 else n*f(n-1) in Y F 10 { Factorial via Y }
let Y = lambda G. (lambda g. G(g g)) (lambda g. G(g g)) in Y (lambda L. 1::L) { 1::1::1:: ... via Y }