2017-09-23 10:01:46 +02:00
|
|
|
|
var y = ->(f) {->(g) {g(g)}(->(g) { f(->(*args) {g(g)(args...)})})}
|
2016-12-05 23:44:36 +01:00
|
|
|
|
|
2017-09-23 10:01:46 +02:00
|
|
|
|
var fac = ->(f) { ->(n) { n < 2 ? 1 : (n * f(n-1)) } }
|
|
|
|
|
|
say 10.of { |i| y(fac)(i) }
|
2016-12-05 23:44:36 +01:00
|
|
|
|
|
2017-09-23 10:01:46 +02:00
|
|
|
|
var fib = ->(f) { ->(n) { n < 2 ? n : (f(n-2) + f(n-1)) } }
|
|
|
|
|
|
say 10.of { |i| y(fib)(i) }
|