Luvit – Asynchronous I/O for Lua
luvit.io
luvit.io
If you want to see what this would look like, it's extremely ugly since I didn't work on it much (as it was easier to just use luvit and node-fibers), but I did put it up on github at http://github.com/dyselon/loquat, and you can see examples of it in the timer example of the readme, and the uncommented parts of examples/test.lua. Maybe it'll be of some use or inspiration to someone.
There a lot of cruft in those examples, but in practical usage, everything but your blocking calls would be hidden behind libraries. It's pretty easy to set up similar fiber-friendly wrappers for your favorite node.js libraries, too, if you're fond of the node-fibers add-on.
nginx's subrequests can do just about anything with the right modules, from database queries to HTTP requests. Effectively turning nginx into your event loop. It's a very interesting idea.
I've just started using it, but I'm excited to make something with it.
Also, I wrote a blog post about luvit after a talk I gave at Open Source Bridge which might be helpful in providing some context[2].
[1] http://www.beedub.com/book/2nd/event.doc.html
[3] http://news.ycombinator.com/item?id=399670
edit: footnotes
And the language looks nice!.
Also, I think they shouldn't have made it the third sentence anyone reads about their project.
Right now our project weighs in at about 4.5 MB RSS with statically linked in openssl. :)
And even the reference Lua interpreter is very fast -- it's small enough to fit entirely into a CPU cache.
Did we collectively forget everything known about concurrency once web apps got big or something?
This is embarrassing. I should switch to embedded or something.
[1] http://bostinno.com/2011/01/31/node-js-interview-4-questions...
I was hoping the "about" would, if not go into depth, at least explain wtf they thought the awesome parts are? No such luck.
Is there any list of what all parts of node.js have been implemented till now?
I have been trying to figure out what to use for docs and it seems that some markdown files and jekyll are what most recent projects have settled on: redis, yeoman.io and node.js.