A Syntactic Correspondence between Context-Sensitive Calculi and
Abstract Machines
Magorzata Biernacka
December 2005 |
Abstract:
We present a systematic construction of environment-based
abstract machines from context-sensitive calculi of explicit substitutions,
and we illustrate it with ten calculi and machines for applicative order with
an abort operation, normal order with generalized reduction and call/cc, the
lambda-mu-calculus, delimited continuations, stack inspection, proper
tail-recursion, and lazy evaluation. Most of the machines already exist but
have been obtained independently and are only indirectly related to the
corresponding calculi. All of the calculi are new and they make it possible
to directly reason about the execution of the corresponding machines.
In connection with the functional correspondence between evaluation functions and abstract machines initiated by Reynolds, the present syntactic correspondence makes it possible to construct reduction-free normalization functions out of reduction-based ones, which was an open problem in the area of normalization by evaluation. Available as PostScript, PDF, DVI. |