An Investigation of Abadi and Cardelli's Untyped Calculus of
Objects
Jacob Johannsen June 2008 |
Abstract:
We study the relationship between the natural (big-step)
semantics and the reduction (small-step) semantics of Abadi and Cardelli's
untyped calculus of objects. By applying Danvy et al.'s functional
correspondence to the natural semantics, we derive an abstract machine for
this calculus, and by applying Danvy et al.'s syntactic correspondence to the
reduction semantics, we also derive an abstract machines for this calculus.
These two abstract machines are identical. The fact that the machines are
identical, and the fact that they have been derived using meaning-preserving
program transformations, entail that the derivation constitutes a proof of
equivalence between natural semantics and the reduction semantics. The
derivational nature of our proof contrasts with Abadi and Cardelli's
soundness proof, which was carried out by pen and paper. We also note that
the abstract machine is new.
To move closer to actual language implementations, we reformulate the calculus to use explicit substitutions. The reformulated calculus is new. By applying the functional and syntactic correspondences to natural and reduction semantics of this new calculus, we again obtain two abstract machines. These two machines are also identical, and as such, they establish the equivalence of the natural semantics and the reduction semantics of the new calculus. Finally, we prove that the two abstract machines are strongly bisimilar. Therefore, the two calculi are computationally equivalent. Available as PostScript, PDF, DVI. |