PATH:
usr
/
share
/
doc
/
lua50
/
examples
-- 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
[-] fib.lua
[edit]
[-] hello.lua
[edit]
[-] trace-calls.lua
[edit]
[-] factorial.lua
[edit]
[-] cf.lua
[edit]
[-] bisect.lua
[edit]
[-] globals.lua
[edit]
[-] undefined.lua
[edit]
[-] README
[edit]
[-] trace-globals.lua
[edit]
[-] readonly.lua
[edit]
[-] printf.lua
[edit]
[-] sieve.lua
[edit]
[-] table.lua
[edit]
[+]
..
[-] sort.lua
[edit]
[-] luac.lua
[edit]
[-] env.lua
[edit]
[-] xd.lua
[edit]
[-] life.lua
[edit]
[-] echo.lua
[edit]
[-] fibfor.lua
[edit]