RosettaCodeData/Task/Y-combinator/Lua/y-combinator-2.lua
2023-07-01 13:44:08 -04:00

4 lines
252 B
Lua

almostfactorial = function(f) return function(n) return n > 0 and n * f(n-1) or 1 end end
almostfibs = function(f) return function(n) return n < 2 and n or f(n-1) + f(n-2) end end
factorial, fibs = Y(almostfactorial), Y(almostfibs)
print(factorial(7))