Withdraw
Loading…
A K Definition of Scheme
Meredith, Patrick O'Neil; Hills, Mark; Rosu, Grigore
Loading…
Permalink
https://hdl.handle.net/2142/11401
Description
- Title
- A K Definition of Scheme
- Author(s)
- Meredith, Patrick O'Neil
- Hills, Mark
- Rosu, Grigore
- Issue Date
- 2007-10
- Keyword(s)
- programming languages
- Abstract
- This paper presents an executable rewriting logic semantics of R5RS Scheme using the K definitional technique [19]. We refer to this definition as K-Scheme. The presented semantics follows the K language definitional style but is almost entirely equational. It can also be regarded as a denotational specification with an initial model semantics of Scheme. Equational specifications can be executed on common rewrite engines, provided that equations are oriented into rewrite rules, typically from left-to-right. The rewriting logic semantics in this paper is the most complete formal definition of Scheme that we are aware of, in the sense that it provides definitions for more Scheme language features than any other similar attempts. The presented executable definition, K-Scheme, can serve as a platform for experimentation with variants and extensions of Scheme, for example concurrency. K-Scheme also serves to show the viability of K as a definitional framework for programming languages.
- Type of Resource
- text
- Permalink
- http://hdl.handle.net/2142/11401
- Copyright and License Information
- You are granted permission for the non-commercial reproduction, distribution, display, and performance of this technical report in any format, BUT this permission is only for a period of 45 (forty-five) days from the most recent time that you verified that this technical report is still available from the University of Illinois at Urbana-Champaign Computer Science Department under terms that include this permission. All other rights are reserved by the author(s).
Owning Collections
Manage Files
Loading…
Edit Collection Membership
Loading…
Edit Metadata
Loading…
Edit Properties
Loading…
Embargoes
Loading…