Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
An abstract frame work for environment machines
Theoretical Computer Science
Semantics with applications: a formal introduction
Semantics with applications: a formal introduction
Two-level functional languages
Two-level functional languages
Operational semantics-directed compilers and machine architectures
ACM Transactions on Programming Languages and Systems (TOPLAS)
ESOP'92 Selected papers of the symposium on Fourth European symposium on programming
Confluence properties of weak and strong calculi of explicit substitutions
Journal of the ACM (JACM)
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Constructing Call-by-Value Continuation Semantics
Journal of the ACM (JACM)
A Theory of Objects
Definitional Interpreters Revisited
Higher-Order and Symbolic Computation
Definitional Interpreters for Higher-Order Programming Languages
Higher-Order and Symbolic Computation
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
A functional correspondence between evaluators and abstract machines
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
The calculi of lambda-nu-cs conversion: a syntactic theory of control and state in imperative higher-order programming languages
Compilation and equivalence of imperative objects
Journal of Functional Programming
Functional runtime systems within the lambda-sigma calculus
Journal of Functional Programming
Journal of Functional Programming
A functional correspondence between call-by-need evaluators and lazy abstract machines
Information Processing Letters
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
Making a fast curry: push/enter vs. eval/apply for higher-order languages
Journal of Functional Programming
Lightweight fusion by fixed point promotion
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Theoretical Computer Science - Applied semantics: Selected topics
A syntactic correspondence between context-sensitive calculi and abstract machines
Theoretical Computer Science
A concrete framework for environment machines
ACM Transactions on Computational Logic (TOCL)
On one-pass CPS transformations
Journal of Functional Programming
Information Processing Letters
Defunctionalized interpreters for programming languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Lazy evaluation and delimited control
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From natural semantics to c: A formal derivation of two stg machines
Journal of Functional Programming
Science of Computer Programming
From reduction-based to reduction-free normalization
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
A rational deconstruction of landin's SECD machine
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
IFL'10 Proceedings of the 22nd international conference on Implementation and application of functional languages
Hi-index | 0.00 |
We present a new abstract machine for Abadi and Cardelli's untyped non-imperative calculus of objects. This abstract machine mechanically corresponds to both the reduction semantics (i.e., small-step operational semantics) and the natural semantics (i.e., big-step operational semantics) specified in Abadi and Cardelli's monograph. To move closer to actual implementations, which use environments rather than actual substitutions, we then represent methods as closures and we present three new semantic artifacts for a version of Abadi and Cardelli's calculus with explicit substitutions: a reduction semantics, an environment-based abstract machine, and a natural semantics (i.e., an interpreter) with environments. These three new semantic artifacts mechanically correspond to each other, and the two abstract machines are bisimilar. Their significance lies in the fact that they have not been designed from scratch and then proved correct; instead, they have been inter-derived. To illustrate the inter-derivation and to make this article stand-alone, we also comprehensively treat the example of negational normalization over Boolean formulas, in appendix.