3 ms·
Pretty sure coroutines are a core part of the language since there's specific C APIs around them but I could be wrong.
by vvanders 10y ago
Pretty sure coroutines are a core part of the language since there's specific C APIs around them but I could be wrong.
- pygy_ 10y agoThe library requires low level access to the VM, but you can yield from anywhere, and pass `coroutine.yield` as a value to higher order functions. However, there are (were?) restrictions when C functions are present on the call stack between `coroutine.resume` and coroutine.yield`. Edit: not that low level, actually, here's the coroutine implementation, built on top of the public Lua C API: http://www.lua.org/source/5.3/lcorolib.c.html http://www.lua.org/source/5.3/lcorolib.c.html (167 lines including white space and comments).