- #!/usr/bin/ruby
- var y = ->(f) {->(g) {g(g)}(->(g) { f(->(*args) {g(g)(args...)})})};
- var fac = ->(f) { ->(n) { n < 2 ? 1 : (n * f(n-1)) } };
- say 10.of { |i| y(fac)(i) };
- var fib = ->(f) { ->(n) { n < 2 ? n : (f(n-2) + f(n-1)) } };
- say 10.of { |i| y(fib)(i) };
|