Jeffrey M. Barber

Tombstone

kitchen · Grill

Oct 2007 – Jan 2008 · age 25–26

What it was

The scripting language of the kitchen engine, with its own compiler and virtual machine. Grill read like C, with static types, closures, counted loops, a once() expression that evaluated something exactly once and cached the result in place, and request() for persistent named state. A C# compiler built on an ANTLR grammar type-checked each program against the engine's generated field maps and the native service signatures, lifted inline lambdas, and emitted Lisp. A C++ machine lowered that Lisp into register form, then walked the tree, replacing each node's name with an opcode on first visit so every later visit was a switch. All script memory lived in a bump allocator that was reset every frame. Native calls went through stubs generated from a 55-function service description. It ran the tower defense's 450-line script to the very end.

Wins, for the age

What it taught

Genealogy

Ancestors: Combo Lang: a tiny compiler that writes the tedious code for you. The Before Times in QBasic: the teenage first attempt at reading a language and emitting a program. Tutor: parsing and walking expression trees, from a computer algebra system. Zen Game System: the conviction that a game engine wants a script layer. Descendants: none on record. Lua kept the niche, and the typed IDL was the part worth keeping. Part of: Kitchen.

Epitaph

Here lies Grill. C syntax in, Lisp out, registers after that, then a tree that learned its own opcodes and forgot everything sixty times a second.