Embedding continuations in procedural objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
A syntactic theory of sequential control
Theoretical Computer Science
&lgr;-V-CS: an extended &lgr;-calculus for scheme
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
M-LISP: a representation-independent dialect of LISP with reduction semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
An operational semantics for Scheme
Lisp and Symbolic Computation
Lambda, the ultimate label or a simple optimizing compiler for Scheme
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Explicit polymorphism and CPS conversion
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A syntactic approach to type soundness
Information and Computation
The VLISP verified PreScheme compiler
Lisp and Symbolic Computation
Proper tail recursion and space efficiency
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Revised5 report on the algorithmic language scheme
ACM SIGPLAN Notices
Concurrent programming in ML
Down with Emacs Lisp: dynamic scope analysis
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
An Interpreter for Extended Lambda Calculus
An Interpreter for Extended Lambda Calculus
The calculi of lambda-nu-cs conversion: a syntactic theory of control and state in imperative higher-order programming languages
The semantics of future and an application
Journal of Functional Programming
Improving the static analysis of embedded languages via partial evaluation
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Operational semantics for multi-language programs
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
Revised6 report on the algorithmic language scheme
Journal of Functional Programming
A sound semantics for OCamllight
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Proceedings of the 3rd international workshop on Free composition
Hi-index | 0.00 |
This paper presents an operational semantics for the core of Scheme. Our specification improves over the denotational semantics from the Revised5 Report on Scheme specification in four ways. First, it covers a larger part of the language, specifically eval, quote, dynamic-wind, and the top level. Second, it models multiple values in a way that does not require changes to unrelated parts of the language. Third, it provides a faithful model of Scheme's undefined order of evaluation. Finally, we have implemented our specification in PLT Redex, a domain-specific language for writing operational semantics. The implementation allows others to experiment with our specification and allows us to build a specification test suite, which improves our confidence that our system is a faithful model of Scheme. In addition to a specification of Scheme, this paper contributes three novel modeling techniques for Felleisen Hieb-style rewriting semantics. All three techniques are applicable to a wider range of problems than modeling Scheme, and they combine seamlessly in our model, suggesting that they would scale to complete models of other languages.