sdegutis

My theory for Lua 6

In the early years, Lua was just a configuration language, basically a fancy JSON. Later, it became a fancy JSON with control flow statements, functions, and variables. Eventually, it evolved into an extraordinarily simple JavaScript competitor.

To this day, it remains that way. But JavaScript has not. TypeScript is now king. Many typed Lua variants have sprouted up, because developers demand convenience.

Then Pallene was invented by some students of the creators of Lua, who double as professors at PUC-Rio, a Catholic university in Brazil. It is founded by Jesuits though, so its orthodoxy is not that trustworthy.

But they are not adding types for convenience like most developers do, but rather because without types, it’s hard to turn code into C. They want to compile it to C so that it can be really really fast.

LuaJIT was king of that game for a while, and still is, but it’s really complicated even for the guy who created it.

Anyway, the future of Lua is likely to merge into the efforts of Pallene, partly because Robert has taken a liking to this project of his students, and partly because where else is Lua going to go? It’s pretty much done.

The only thing it has left is to get a decent type system. So you can kind of think of Pallene as an experimental Lua 6. It will grow and take shape and stabilize until it’s ready, at which point Lua will merge with the finished product. It’s kind of like what TypeScript was to EcmaSCRIPT 2029.

But types are only one new feature we will get in Lua 6. We will also get some more convenient syntax changes, much like the syntax rennaisance JAVAscript had in 2013, such as arrow functions and a more convenient class syntax.