By 1987 the language has for and break, table constructors, multiple assignment, t.x, t[k], t:m(), string escapes, real lexical closures, and arequire that hands you back a module. The compiler is 42KB of its own language and compiles itself - in a little over two hours at 1 MHz.
So: is it Lua? Here is the comparison. You are free to make your own determination; it cuts both ways.
Where she is ahead, with the Lua release that eventually got there:

Plus, of course, self-hosting - which Lua has never had. Its compiler is C and always has been.
Where she never arrives at all: repeat until, multiple return values, varargs, metatables, coroutines, floating point. All of those are in Lua, most of them from the first release.
So I think this is not a story about someone who invented Lua nine years early. It is a story about someone who invented a different language, which I find much more interesting.
And the unflattering reading deserves to be said out loud, because it is at least half correct.
Several of the things she reaches early are forced by the environment she lives in.
Integers because the 6502 has no FPU.
No globals because there is no global table to put them in.
One return value because the return protocol carries only one cell.
I'd posit that constraint is doing a great deal of the work that looks, from outside, like foresight. But you're free to have your own opinions on the matter; art is in the eye of the beholder.
Jorj Bauer
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.