The integer and bitwise addition are pretty nice, lua5.2+ adds more complexity for luajit to upgrade and sync with, but for scripting I feel the new lua versions are great, still small, flexible and more powerful.
other than games, lua is very important to embedded systems.
Genuinely, what’s nice about integers and bitops? Lua always had integers: 1, 16, 42, -8. All you have to do is to floor division. Bitops and full 64-bit ops are so rare and fringe that a library would do (and it did).
for scripting I feel the new lua versions are great, still small, flexible and more powerful
It sounds so strange to me. Great in what? _ENV is the same setfenv() just in the other hand. Yielding across meta and C is nice, but should have been done in 5.1.6 regardless. __{pairs,ipairs} was just dancing around the same old tree as well. GC and interpreter improvements were independent of 5.x flavor and could be backported. Integers are pointless, sorry for the pun. 5.(n+1) may seem “more powerful”, but only because authors of Lua consciously leave 5.(n) undercooked. It’s adhd-rewrite-based development.
other than games, lua is very important to embedded systems
If you mean nodemcu, it stuck in 5.1 too. Everyone who did anything practical stuck in it, because they had shit to maintain. It’s very hard to explain to an innocent user why they have to periodically rewrite their scripts and bump fragile deps for this new “elle yu aeh” thing.
I use it for embedded boards, to run scripts and cgi, and sometimes do bitops too.
based on what you described, it looks like someone should backport whatever makes sense and keep 5.1.x as a new language, and sync luajit with that? I have yet to use luajit.