lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


I have the following Lua code:

function makeMessage()
    local f;
    f = function( target, ... )
        send( target, f, unpack( arg ) )
    end;
    return f
end

The key point being that it instantiates a closure that references itself.

How would I do this in C? (C is interesting because it can avoid the whole
pack/unpack the arguments step.) Closures take values on the stack, but at
the point when I'm creating the closure it doesn't exist as a value to put
on the stack.

Thanks.
Mark