Deriving Target Code as a Representation of Continuation Semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Advice on structuring compilers and proving them correct
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Semantics-Directed Compiler Generation: Proceedings
Semantics-Directed Compiler Generation: Proceedings
The Denotational Description of Programming Languages: An Introduction
The Denotational Description of Programming Languages: An Introduction
Computing in Systems Described by Equations
Computing in Systems Described by Equations
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
A Constructive Approach to Compiler Correctness
Proceedings of the 7th Colloquium on Automata, Languages and Programming
Circular Expressions: Elimination of Static Environments
Proceedings of the 8th Colloquium on Automata, Languages and Programming
Compiler generation from denotational semantics
Semantics-Directed Compiler Generation, Proceedings of a Workshop
From standard to implementation denotational semantics
Semantics-Directed Compiler Generation, Proceedings of a Workshop
SKIM - The S, K, I reduction machine
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
TCOLAda and the “Middle End” of the PQCC Ada compiler
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on The ADA programming language
Detecting global variables in denotational specifications
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Correct flow analysis in continuation semantics
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The semantics of program dependence
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Continuation-based parallel implementation of functional programming languages
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Staging transformations for abstract machines
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A self-applicable partial evaluator for the lambda calculus: correctness and pragmatics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proving the correctness of storage representations
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Operational semantics-directed compilers and machine architectures
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiler correctness for parallel languages
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Deriving Target Code as a Representation of Continuation Semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Compilers and staging transformations
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Loops in combinator-based compilers
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A types-as-sets semantics for milner-style polymorphism
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The scheme 311 compiler an exercise in denotational semantics
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
An investigation of the relative efficiencies of combinators and lambda expressions
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
Deriving a lazy abstract machine
Journal of Functional Programming
Proceedings of the 2005 ACM symposium on Applied computing
Defunctionalized interpreters for programming languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Functional derivation of a virtual machine for delimited continuations
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Hi-index | 0.00 |
We show how to analyze the denotational semantics for a programming language to obtain a compiler and a suitable target machine for the language. We do this by rewriting the equations using suitable combinators. The machine operates by simulating the reduction sequences for the combinator terms. The reduction sequences pass through certain standard forms, which become an architecture for the machine, and the combinators become machine instructions. Despite the abstract nature of its development, the machine greatly resembles a conventional one. The method is illustrated by a simple expression language with procedures and input-output.