Name: Anonymous 2015-04-26 21:07
I've never really understood the Y combinator.
(define (y f)
(lambda args
(apply f (cons (y f) args))))
(define factorial
(y (lambda (f n)
(if (= n 0)
1
(* n (f (- n 1)))))))