Sha256: 0edd4b570544cf35f71fa0f1720e1b3899d23c490ea793f1c157614cfed2c3c3
Contents?: true
Size: 707 Bytes
Versions: 23
Compression:
Stored size: 707 Bytes
Contents
-- function closures are powerful -- traditional fixed-point operator from functional programming Y = function (g) local a = function (f) return f(f) end return a(function (f) return g(function (x) local c=f(f) return c(x) end) end) end -- factorial without recursion F = function (f) return function (n) if n == 0 then return 1 else return n*f(n-1) end end end factorial = Y(F) -- factorial is the fixed point of F -- now test it function test(x) io.write(x,"! = ",factorial(x),"\n") end for n=0,16 do test(n) end
Version data entries
23 entries across 23 versions & 2 rubygems