[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 to Matthias Felleisen.

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
short order.

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.

-- 
Neel Krishnaswami
neelk@alum.mit.edu