Towards compatible and interderivable semantic specifications for the scheme programming language, part I: denotational semantics, natural semantics, and abstract machines

作者: Olivier Danvy

DOI: 10.1007/978-3-642-04164-8_9

关键词:

摘要: We derive two big-step abstract machines, a natural semantics, and the valuation function of denotational semantics based on small-step machine for Core Scheme presented by Clinger at PLDI'98. Starting from functional implementation this smallstep machine, (1) we fuse its transition with driver loop, obtaining machine; (2) adjust so that it is in defunctionalized form, second (3) refunctionalize adjusted continuation-passing style; (4) closure-unconvert compositional evaluation which identify as style. then compare Clinger's original Scheme.

参考文章(56)
M Wand, D P Friedman, W Clinger, A scheme for a higher-level semantic algebra Algebraic methods in semantics. pp. 237- 250 ,(1986)
Olivier Danvy, Zhe Yang, An Operational Investigation of the CPS Hierarchy european symposium on programming. pp. 224- 242 ,(1999) , 10.1007/3-540-49099-X_15
Guy Lewis Steele Jr, Gerald Jay Sussman, The Revised Report on SCHEME: A Dialect of LISP. ,(1978)
Mads Tofte, Robin Milner, Robert Harper, David MacQueen, The Definition of Standard ML (Revised) MIT Press. ,(1997)
Dariusz Biernacki, Olivier Danvy, From Interpreter to Logic Engine by Defunctionalization BRICS Report Series. ,vol. 10, ,(2003) , 10.7146/BRICS.V10I25.21954
John C. Reynolds, Definitional Interpreters Revisited Higher-Order and Symbolic Computation archive. ,vol. 11, pp. 355- 361 ,(1998) , 10.1023/A:1010075320153
Gerald Jay Sussman, Guy L. Steele Jr., The First Report on Scheme Revisited Higher-Order and Symbolic Computation archive. ,vol. 11, pp. 399- 404 ,(1998) , 10.1023/A:1010079421970
Olivier Danvy, A Rational Deconstruction of Landin’s SECD Machine Implementation and Application of Functional Languages. pp. 52- 71 ,(2005) , 10.1007/11431664_4
Olivier Danvy, Formalizing Implementation Strategies for First-Class Continuations european symposium on programming. pp. 88- 103 ,(2000) , 10.1007/3-540-46425-5_6