William Adams wrote: > If LuaJIT were not constrained by ABI compatibility with Lua 5.1, > how could the environment benefit? Well, the classic Lua/C API/ABI _does_ impose some constraints on the design of the VM. But I don't think these constraints are very serious or would significantly impede progress. I mean ... due to the unknown and potentially wide-ranging side-effects of classic C functions, the JIT-compiler cannot (reasonably) compile a call to them. So it already treats the classic Lua/C API like a legacy interface. Yes, it would save some code space if it's ripped out. But not much else would happen. I've explained elsewhere that the current API makes it unfeasible to switch to a moving garbage collector. Alas, the FFI imposes similar constraints: better not move cdata. And there isn't clear cut evidence that a moving GC is the best design choice, anyway. Ok, so the debugging part of the API leads to ugly contortions inside LuaJIT, to remain somewhat compatible. It would be a relief if that could be dropped. The pitfall is that adding yet another debug API might cause similar problems for some future version. One could go on ... but it's just a laundry list with lots of minor issues. None of them warrant such a drastic step as dropping ABI compatibility (at this time). [The real issues that Lua faces are elsewhere and mostly out of my control. *Sigh*, that would certainly make for a long rant. Alas, I don't have enough time right now to deal with the backlash, so I shall remain silent.] --Mike