MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Draft Version Modular Denotational Semantics for Compiler Construction

Download:
pdf | ps
by Sheng Liang, Paul Hudak
http://www.swiss.ai.mit.edu:8000/users/dae/related-papers/liang2.ps.Z
Add To MetaCart

Abstract:

We show the benefits of applying modular monadic semantics to compiler construction. Modular monadicsemantics allows us to define a languagewith a rich set of features from reusablebuilding blocks, and use program transformation and equational reasoning to improve code. Compared to denotational semantics, reasoning in monadic style offers the added benefits of highly modularized proofs and more widely applicable results. To demonstrate, we present an axiomatization of environments, and use it to prove the correctness of a well-known compilation technique. The monadic approach also facilitates generating code in various target languages with different sets of built-in features.

Citations

1128 Monads for functional programming – Wadler - 1992
393 Comprehending monads – Wadler - 1992
215 Report on the Programming Language Haskell, A Non-strict, Purely Functional Language – Hudak, Jones, et al. - 1992
156 Monad transformers and modular interpreters – Liang, Hudak, et al. - 1995
150 Reasoning about programs in continuation-passing style – Sabry, Felleisen - 1992
135 An abstract view of programming languages – Moggi - 1990
118 Automatic autoprojection of recursive equations with global variables and abstract data types – Bondorf, Danvy - 1991
112 closure-passing style – Appel, Jim, et al. - 1989
111 Mix: a self-applicable partial evaluator for experiments in compiler generation – Jones, Sestoft, et al. - 1989
98 Automatic online partial evaluation – Weise, Conybeare, et al.
88 A Simple Applicative Language: MINI-ML – Clement - 1986
75 A generic account of continuationpassing styles – Hatcliff, Danvy - 1994
71 Realistic compilation by program transformation – Kelsey, Hudak - 1989
56 Composing monads – Jones, Duponcheel - 1993
41 Compilers and staging transformations – Jørring, Scherlis - 1986
30 Actress: an action semantics directed compiler generator – Brown, Moura, et al. - 1992
25 Abstract Semantic Algebras – Mosses - 1982
25 Building interpreters by composing monads – Jr - 1994
24 Provably Correct Compiler Generation – Palsberg - 1992
24 A semantics-directed compiler generator – Paulson - 1982
20 Compiling actions by partial evaluation – Bondorf, Palsberg - 1993
18 Action Semantics, volume 26 of Cambridge Tracts – Mosses - 1992
17 Realistic Compiler Generation. Foundations of Computing Series – Lee - 1989
14 A tour of Schism – Consel - 1993
11 More advice on proving a compiler correct: Improve a correct compiler – Meijer - 1994
9 Compiling monads – Danvy, Koslowski, et al. - 1991
7 SIS-semantics implementation system, reference manual and users guide – Mosses - 1979
6 Modular denotational semantics. Unpublished manuscript – Espinosa - 1993
6 Mutable abstract datatypes – Hudak - 1992
5 A Short Proof of the Lexical Addressing Algorithm – Wand - 1990
4 OASIS: An optimizing action-based compiler generator – ��rb��k - 1994
2 Self-applicable partial evaluation for pure lambda calculus – Torben - 1992
1 Denotational Semantics: The Scott-Strachey Approach to ProgrammingLanguageTheory – JosephStoy - 1977
1 A semanticprototypingsystem – Wand - 1984