Close

Entry 7: Climbing the Ladder

A project log for Lua2e

LUA before Lua: a self-hosting compiler on the Apple //e

jorj-bauerJorj Bauer • 09/29/2026 at 01:59•0 Comments

Louise Albright did not call these rungs. She did not call them anything. It was me that painstakingly separated the files and reconstructed the narrative of what got built when; this is the organizational pattern that my brain applied to her data. Treat it accordingly.

In large part, I am the benefactor of her decision to buy a clock card. No, the Apple //e had no built-in clock; it had no way to, by default, timestamp files. Some programs asked you when you entered them what time and date it was.

Others just blindly accepted that they had no idea.

From what I see, I'm pretty sure she had a clock card. There's a fairly consistent set of dates, that play out a tune if you know how to look for the melody.

Thanksgiving. Christmas break. Summer. Spring break. Labor Day weekend. Thanksgiving. Christmas break. Not one of them falls during a term. She built the entire thing on school vacations.

The next rung is Christmas break, 1984, and its two outputs print like this:

1 2 6 24 120

And then

0 1 1 2 3 5 8 13 21 34 55

 
Take a minute to consider each of those. I bet you'll recognize them.

Factorials and Fibonacci, which is what everybody writes when they want to know whether their call stack works. She had a machine nobody else would ever use, a language with no name yet, and exactly one user, and she tested it the way you would have tested it. Or at least the way I would have tested it.

By the end of 1984 the machine has stack operations, local variables, arithmetic, control flow, simple I/O, and closures in the sense that functions are values that can be passed around.

Much like P.D.Q. Bach's left-handed sewer flute: this plays music, but it is not elegant. It is clunky, bespoke and not especially functional. What she is doing here is the final project of a good undergraduate compilers course. The difference is that nobody assigned it, nobody graded it... and she kept going for three more years.

Discussions