Hello list!
I'm happy to announce that after a two years of work my pet project TAL has finally reached beta! You can check it out here, or at the github mirror.
In short, TAL is a runtime, built on top of luajit. It adds a lot of the newer lua features back to luajit (via a custom transpiler), adds concurrent IO, networking and a bunch of wrappers and implementations of formats and protocols (HTML, JSON, HTTP, SSL, etc.).
The new version came together with a complete rewrite of the underlying C library for doing concurrent IO, as well as a lot of optimizations, bug fixes and most importantly, a complete overhaul of the IO streams API.
The roadmap for the next versions, until the v1.0 release is as follows:
- Add a better error system, with the ability to catch different types of errors (by filtering the `__metatable` metafield of error objects)
- Add more concurrency primitives (like work groups and cancellations)
- Implement IO operation cancellation, that builds on top of the concurrency cancellation primitives
Any feedback is welcome!
P.S.: No AI has ever touched, nor ever will touch, the codebase of TAL. If the code is bad, the one to blame is yours truly ;-;