| -- The Great Computer Language Shootout | |
| -- http://shootout.alioth.debian.org/ | |
| -- | |
| -- contributed by Isaac Gouy | |
| local function link(n) | |
| local message, next = 0 | |
| if n-1 > 0 then | |
| next = coroutine.create(link) | |
| _,message = coroutine.resume(next,n-1) | |
| end | |
| coroutine.yield(message + 1) | |
| end | |
| local n = tonumber(arg[1]) or 1000 | |
| local message = 0 | |
| local chain = coroutine.create(link) | |
| _,message = coroutine.resume(chain,n) | |
| io.write(message, "\n") |