[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
The short distance between theory and practice
This note is mostly just a public thank-you.
I have been writing a bytecode interpreter for a language project of
my own, and I had stalled at the point where I had a working tree-code
interpreter and needed to learn out how to turn trees into linear
bytecode. I made several failed attempts until I reread "The Essence
of Compiling with Continuations", which Matthias Felleisen co-
authored. At that point I finally grasped what people mean when they
say that CPS (or A normal form, in this case) makes the order of
evaluation explicit, and was able to write my bytecode emitter in
I was surprised yet again at the astonishingly short distance between
language theory and the details of actual implementation. There's
never a shortage of talk about how CS theorists are out of touch with
the needs of practical programmers, so I thought I'd toss out a
thank-you for one of those cases where the opposite held true.