ORBIT: an optimizing compiler for scheme
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Deriving sequential and parallel programs from pure LISP specifications by program transformation
The IFIP TC2/WG 2.1 Working Conference on Program specification and transformation
The automatic generation of realistic compilers from high-level semantic descriptions
The automatic generation of realistic compilers from high-level semantic descriptions
A semantics-directed compiler generator
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An optimizing compiler for lexically scoped LISP
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Rabbit: A Compiler for Scheme
Compilation by program transformation
Compilation by program transformation
Mul-T: a high-performance parallel Lisp
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Static and dynamic semantics processing
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compilation of functional languages by program transformation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Staging transformations for abstract machines
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Language Design for Program Manipulation
IEEE Transactions on Software Engineering
CPS-transformation after strictness analysis
ACM Letters on Programming Languages and Systems (LOPLAS)
The essence of compiling with continuations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Space-efficient closure representations
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Is continuation-passing useful for data flow analysis?
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Operational semantics-directed compilers and machine architectures
ACM Transactions on Programming Languages and Systems (TOPLAS)
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A correspondence between continuation passing style and static single assignment form
IR '95 Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations
Let-floating: moving bindings to give faster programs
Proceedings of the first ACM SIGPLAN international conference on Functional programming
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Two for the price of one: composing partial evaluation and compilation
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Denotational semantics using an operationally-based term model
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program transformation in calculational form
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Efficient and safe-for-space closure conversion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Contification using dominators
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Optimizing Nested Loops Using Local CPS Conversion
Higher-Order and Symbolic Computation
The essence of compiling with continuations
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Continuations and transducer composition
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Dynamic state restoration using versioning exceptions
Higher-Order and Symbolic Computation
Journal of Functional Programming
Programming language support for digitized images or, the monsters in the closet
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Compiling with continuations, continued
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
CC '09 Proceedings of the 18th International Conference on Compiler Construction: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Hi-index | 0.01 |
Using concepts from denotational semantics, we have produced a very simple compiler that can be used to compile standard programming languages and produces object code as efficient as that of production compilers. The compiler is based entirely on source-to-source transformations performed on programs that have been translated into an intermediate language resembling the lambda calculus. The output of the compiler, while still in the intermediate language, can be trivially translated into machine code for the target machine. The compilation by transformation strategy is simple: the goal is to remove any dependencies on the intermediate language semantics that the target machine cannot implement directly. Front-ends have been written for Pascal, BASIC, and Scheme and the compiler produces code for the MC68020 microprocessor.