2009
DOI: 10.1007/978-3-642-04164-8_9
|View full text |Cite
|
Sign up to set email alerts
|

Towards Compatible and Interderivable Semantic Specifications for the Scheme Programming Language, Part I: Denotational Semantics, Natural Semantics, and Abstract Machines

Abstract: We derive two big-step abstract machines, a natural semantics, and the valuation function of a denotational semantics based on the small-step abstract machine for Core Scheme presented by Clinger at PLDI'98. Starting from a functional implementation of this small-step abstract machine, (1) we fuse its transition function with its driver loop, obtaining the functional implementation of a big-step abstract machine; (2) we adjust this big-step abstract machine so that it is in defunctionalized form, obtaining the… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2009
2009
2018
2018

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 6 publications
(5 citation statements)
references
References 46 publications
0
5
0
Order By: Relevance
“…Eval/apply machines are also known as 'eval/continue' machines (see Danvy [5] for a discussion), since they have a strong connection with continuations and evaluation contexts [3,4,7,14], which makes them modular and more amenable for reasoning. That is why they are attractive underlying evaluation models for modular and formally verified compilation techniques.…”
Section: Discussionmentioning
confidence: 99%
“…Eval/apply machines are also known as 'eval/continue' machines (see Danvy [5] for a discussion), since they have a strong connection with continuations and evaluation contexts [3,4,7,14], which makes them modular and more amenable for reasoning. That is why they are attractive underlying evaluation models for modular and formally verified compilation techniques.…”
Section: Discussionmentioning
confidence: 99%
“…A number of independently designed small-step semantic artifacts can be obtained by closure-converting, CPStransforming, and then defunctionalizing their big-step counterparts, and vice versa by refunctionalizing [Danvy and Millikin 2009]. Such semantic artifacts include the SECD machine [Ager et al 2003;Danvy 2004;Danvy and Millikin 2008b], the CEK machine [Ager et al 2003], the CLS machine [Ager et al 2003], Categorical Abstract Machines [Ager et al 2003], lazy abstract machines [Ager et al 2004], monadic evaluators [Ager et al 2005, as well as languages with richer constructs [Biernacka and Danvy 2009;Danvy 2008Danvy , 2009, etc.…”
Section: Related Workmentioning
confidence: 99%
“…In the concrete world, the relationships between reduction semantics, abstract machines, definitional interpreters, and monadic interpreters have been intensively studied by Danvy and his collaborators [Ager et al 2003, 2004Biernacka and Danvy 2009;Danvy 2006bDanvy , 2008Danvy , 2009Nielsen 2001, 2004]. These concrete abstract machines implement structural operational semantics in continuation-passing style, where the reduction contexts are defunctionalized continuations.…”
Section: Introductionmentioning
confidence: 99%
“…The syntactic correspondence has been applied to a large number of small-step semantics [5,7,8,11,14,30,59,74,89,90,112,128,135], in some cases to derive known abstract machines, and in some cases to derive new ones. Similarly, the functional correspondence has been applied to a large number of big-step semantics [1,15,30,33,72,74,83,84,89,96,101,135], in some cases to derive known abstract machines, and in some cases to derive new ones.…”
Section: Contributionsmentioning
confidence: 99%
“…These numerous cases range from the varieties of λ-calculus [2,4] to the Algorithmic Language Scheme [33].…”
Section: Related Workmentioning
confidence: 99%