PasteRack.org
Paste # 87016
2015-05-19 05:02:46

Fork as a new paste.

Paste viewed 524 times.


Embed:

Y combinator in untyped racket

  1. #lang racket
  2.  
  3. (define Y
  4.   ((λ (f)
  5.      (f f))
  6.    (λ (z)
  7.      (λ (f)
  8.        (f (λ (x) (((z z) f) x)))))))
  9.  
  10. (define factorial
  11.   (Y (λ (recursive-factorial)
  12.        (λ (x)
  13.          (if (<= x 0)
  14.              1
  15.              (* x (recursive-factorial (- x 1))))))))
  16.  
  17. (factorial 5)

=>

120