Show HN: Lua Meets Node.js – Luaw, Nonblocking HTTP Server for Lua
github.comEvent driven, non blocking HTTP app server for Lua inspired by Node.js. Uses Lua coroutines in place of nested callbacks to simplify application code.
Looks good at first glance but could you explain how this differs from https://github.com/luvit/luvit and similar projects?
Luvit is an impressive project. However, as far as I can tell they still use Node.js style callbacks to handle asynchronous processing. IMHO Lua's coroutines are a natural match for event driven, async code and easier to use than nested callbacks. There are no callbacks in Luaw which makes writing nonblocking codes essentially as straight forward as blocking code. You never explicitly create coroutines or manage them in your code. Luaw automatically suspends HTTP request running in its own coroutine whenever read/write call is about to block and resumes it when the socket is ready for read/write
Its a few years behind luvit and is much more difficult to build.