PasteRack.org
Paste # 15774
2017-10-18 21:41:36

Fork as a new paste.

Paste viewed 859 times.


Embed:

Y as U and B

  1. #lang lazy
  2.  
  3. (define B (λ (f)
  4.             (λ (g)
  5.               (λ (x)
  6.                 (f (g x))))))
  7.  
  8. (define U (λ (f)
  9.             (f f)))
  10.  
  11. (define Y (λ (g)
  12.             (U ((B g) U))))
  13.  
  14. (define fact (Y (λ (f)
  15.                   (λ (n)
  16.                     (if (= n 0)
  17.                         1
  18.                         (* n (f (sub1 n))))))))
  19.  
  20. (fact 4)

=>

24