Notes on “Chains of Meaning in STEPS”

The "Chains of Meanings" tech report (Piumarta 2009) contains a nice application of the OMeta parsing DSL, or perhaps one of its precursors called IS. The task is to compile high-level abstract syntax (concretised as a Lisp Fibonnaci function) to x86 machine instructions. These tech reports, while immensely valuable, are seldom optimised for readability to … Continue reading Notes on “Chains of Meaning in STEPS”

PAINT25 Invited Talk transcript: “Notational Freedom via Self-Raising Diagrams”

(I gave two talks at SPLASH this year. Besides my Onward! Essays submission, I was kindly invited to open the PAINT workshop on Programming Abstractions, Interactive Notations and Tools. Because it was not recorded, and there was no associated paper, I'm posting a lightly edited script here. This is my first iteration of these ideas; … Continue reading PAINT25 Invited Talk transcript: “Notational Freedom via Self-Raising Diagrams”

Ode to Id (Notes on COLA’s object model), Part N

(Previously: Part 1, Part 2) (EDIT 2025-08-05: formalising all this stuff for a paper made me realise that Id's multi-parent mechanism probably does NOT quite suffice to model Self! Will correct in future, for now, be warned...) Id only makes one assumption about existing objects, which is that each somehow has a binder object ("vtable"). … Continue reading Ode to Id (Notes on COLA’s object model), Part N

Ode to Id (Notes on COLA’s object model), Part 2

So far, we have this: function send(obj, selector, ...args) { const method = bind(obj, selector); return method(obj, ...args); } function bind(obj, selector) { if (selector === 'lookup' && obj === VtableVT) return vtable_lookup; else return send(vtable(obj), 'lookup', selector); } Our as-yet undefined terms are VtableVT, vtable_lookup, and vtable (yes, I'm sticking to the paper's name … Continue reading Ode to Id (Notes on COLA’s object model), Part 2

Ode to Id (Notes on COLA’s object model), Part 1

"Open, Reusable Object Models" (Piumarta & Warth 2006) is my most beloved paper of all time. I discovered STEPS half-way through my final year of undergrad and was immediately enthralled by the vision of programming presented for "COLAs", half of which is described by this small tech report. I remember being impatient to finish my … Continue reading Ode to Id (Notes on COLA’s object model), Part 1