Why not chime in with this? local function foo() ... return foo() end Because Lua does tail-call optimization, this won't blow the stack. -spc