RosettaCodeData/Task/Y-combinator/Racket/y-combinator-1.rkt

9 lines
239 B
Racket
Raw Permalink Normal View History

2013-10-27 22:24:23 +00:00
#lang lazy
2019-09-12 10:33:56 -07:00
(define Y (λ (f) ((λ (x) (f (x x))) (λ (x) (f (x x))))))
2013-10-27 22:24:23 +00:00
(define Fact
2019-09-12 10:33:56 -07:00
(Y (λ (fact) (λ (n) (if (zero? n) 1 (* n (fact (- n 1))))))))
2013-10-27 22:24:23 +00:00
(define Fib
2019-09-12 10:33:56 -07:00
(Y (λ (fib) (λ (n) (if (<= n 1) n (+ (fib (- n 1)) (fib (- n 2))))))))