Hostname: page-component-89b8bd64d-x2lbr Total loading time: 0 Render date: 2026-05-11T21:08:38.586Z Has data issue: false hasContentIssue false

An operational semantics for Scheme1

Published online by Cambridge University Press:  01 January 2008

JACOB MATTHEWS
Affiliation:
University of Chicago (email: jacobm@cs.uchicago.edu, robby@cs.uchicago.edu)
ROBERT BRUCE FINDLER
Affiliation:
University of Chicago (email: jacobm@cs.uchicago.edu, robby@cs.uchicago.edu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

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.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2007
Submit a response

Discussions

No Discussions have been published for this article.