MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
ORBIT: an optimizing compiler for scheme
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Revised report on the algorithmic language scheme
ACM SIGPLAN Notices
Safety consideration for storage allocation optimizations
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Control flow analysis in scheme
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Parcel: project for the automatic restructuring and concurrent evaluation of LISP
ICS '88 Proceedings of the 2nd international conference on Supercomputing
Continuations may be unreasonable
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
&lgr;-V-CS: an extended &lgr;-calculus for scheme
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Object-oriented programming in scheme
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
The runtime environment for Scheme, a Scheme implementation on the 88000
ASPLOS III Proceedings of the third international conference on Architectural support for programming languages and operating systems
CLP and constraint abstraction
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Realistic compilation by program transformation (detailed summary)
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Continuation-passing, closure-passing style
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 1989 ACM/IEEE conference on Supercomputing
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Continuing into the future: on the interaction of futures and first-class continuations
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Continuation-based parallel implementation of functional programming languages
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Compilation as partitioning: a new approach to compiling non-strict functional languages
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Dependence flow graphs: an algebraic approach to program dependencies
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)
The semantics of Scheme control-flow analysis
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
HARE: an optimizing portable compiler for Scheme
ACM SIGPLAN Notices
Structured programming with limited private types in Ada: nesting if for the soaring eagles
ACM SIGAda Ada Letters
CONS should not CONS its arguments, or, a lazy alloc is a smart alloc
ACM SIGPLAN Notices
Improving binding times without explicit CPS-conversion
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
The Python compiler for CMU Common Lisp
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Tachyon Common Lisp: an efficient and portable implementation of CLtL2
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Reasoning about programs in continuation-passing style.
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Back to direct style II: first-class continuations
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
No assembly required: compiling standard ML to C
ACM Letters on Programming Languages and Systems (LOPLAS)
CPS-transformation after strictness analysis
ACM Letters on Programming Languages and Systems (LOPLAS)
Towards efficient partial evaluation
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
First-class data-type representations in SCHEMEXEROX
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
The essence of compiling with continuations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Space-efficient closure representations
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Lambda, the ultimate label or a simple optimizing compiler for Scheme
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Separating stages in the continuation-passing style transformation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Explicit polymorphism and CPS conversion
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Iterators: signs of weakness in object-oriented languages
ACM SIGPLAN OOPS Messenger
Equal rights for functional objects or, the more things change, the more they are the same
ACM SIGPLAN OOPS Messenger
A compiler approach to scalable concurrent-program design
ACM Transactions on Programming Languages and Systems (TOPLAS)
Is continuation-passing useful for data flow analysis?
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Linear logic and permutation stacks—the Forth shall be first
ACM SIGARCH Computer Architecture News - Special issue: panel sessions of the 1991 workshop on multithreaded computers
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Using functor categories to generate intermediate code
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
A type-based compiler for standard ML
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Realistic compilation by partial evaluation
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Type-directed partial evaluation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lightweight closure conversion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Two for the price of one: composing partial evaluation and compilation
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Strongly typed flow-directed representation transformations (extended abstract)
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Lambda-splitting: a higher-order approach to cross-module optimizations
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Stack-free process-oriented simulation
Proceedings of the eleventh workshop on Parallel and distributed simulation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A systematic study of functional language implementations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proper tail recursion and space efficiency
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Integrating functional and imperative programming
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Design of an optimizing, dynamically retargetable compiler for common Lisp
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
The implementation of PC Scheme
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Connection Machine Lisp: fine-grained parallel symbolic processing
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
OOPWORK '86 Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming
Dynamic optimization of covered tail recursive functions in applicative languages
CSC '86 Proceedings of the 1986 ACM fourteenth annual conference on Computer science
Efficient and safe-for-space closure conversion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Syntactic accidents in program analysis: on the impact of the CPS transformation
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Technical Correspondence: Steensgaard-Madsen's reply
ACM Transactions on Programming Languages and Systems (TOPLAS)
SAFKASI: a security mechanism for language-based systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
Continuations, functions and jumps
ACM SIGACT News
From control effects to typed continuation passing
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
Retraction Approach to CPS Transform
Higher-Order and Symbolic Computation
A Syntactic Theory of Dynamic Binding
Higher-Order and Symbolic Computation
Definitional Interpreters Revisited
Higher-Order and Symbolic Computation
CPS Translations and Applications: The Cube and Beyond
Higher-Order and Symbolic Computation
Optimizing Nested Loops Using Local CPS Conversion
Higher-Order and Symbolic Computation
A FAD for Data Intensive Applications
IEEE Transactions on Knowledge and Data Engineering
Formalizing Implementation Strategies for First-Class Continuations
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Eta-Redexes in Partial Evaluation
Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School
Proving Syntactic Properties of Exceptions in an Ordered Logical Framework
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
A Higher-Order Colon Translation
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
A First-Order One-Pass CPS Transformation
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
A functional intermediate form for diverse source languages
CASCON '96 Proceedings of the 1996 conference of the Centre for Advanced Studies on Collaborative research
A combinator-based compiler for a functional language
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Compiling a functional language
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
The implementation of procedurally reflective languages
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
The scheme 311 compiler an exercise in denotational semantics
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
T: a dialect of Lisp or LAMBDA: The ultimate software tool
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
A semantic comparison of LISP and SCHEME
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
An efficient environment allocation scheme in an interpreter for a lexically-scoped LISP
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Local optimization in a compiler for stack-based Lisp machines
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Experience with an experimental compiler generator based on denotational semantics
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
An optimizing compiler for lexically scoped LISP
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
A sound and complete axiomatization of delimited continuations
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
A first-order one-pass CPS transformation
Theoretical Computer Science
Syntactic accidents in program analysis: on the impact of the CPS transformation
Journal of Functional Programming
CPS transformation of flow information, Part II: administrative reductions
Journal of Functional Programming
Compiling lazy functional programs for the Java Virtual Machine
Journal of Functional Programming
From ML to Ada: Strongly-typed language interoperability via source translation
Journal of Functional Programming
Shrinking lambda expressions in linear time
Journal of Functional Programming
Journal of Functional Programming
On the call-by-value CPS transform and its semantics
Information and Computation
Orbit: an optimizing compiler for scheme
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Higher-order control-flow analysis in retrospect: lessons learned, lessons abandoned
ACM SIGPLAN Notices - Best of PLDI 1979-1999
The essence of compiling with continuations
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Efficiently compiling a functional language on AMD64: the HiPE experience
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
CPS transformation of beta-redexes
Information Processing Letters
The anatomy of a loop: a story of scope and control
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Fixing Letrec: A Faithful Yet Efficient Implementation of Scheme's Recursive Binding Construct
Higher-Order and Symbolic Computation
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On the dynamic extent of delimited continuations
Information Processing Letters
Continuations and transducer composition
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Modular verification of assembly code with stack-based control abstractions
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
On the static and dynamic extents of delimited continuations
Science of Computer Programming
Mechanically verifying correctness of CPS compilation
CATS '06 Proceedings of the 12th Computing: The Australasian Theroy Symposium - Volume 51
Improving flow analyses via ΓCFA: abstract garbage collection and counting
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Journal of Functional Programming
Theoretical Computer Science - Applied semantics: Selected topics
A syntactic correspondence between context-sensitive calculi and abstract machines
Theoretical Computer Science
Analyzing the environment structure of higher-order languages using frame strings
Theoretical Computer Science
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Compiling with continuations, continued
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Secure web applications via automatic partitioning
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
The scheme environment: continuations
ACM SIGPLAN Lisp Pointers
ACM SIGPLAN Lisp Pointers
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation
Defunctionalized interpreters for programming languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
ACM Lisp Bulletin
Exploiting reachability and cardinality in higher-order flow analysis
Journal of Functional Programming
Celebrating the 50th Anniversary of Lisp
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
Science of Computer Programming
CEAL: a C-based language for self-adjusting computation
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
A formal representation for plans in the programmer's apprentice
IJCAI'81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 2
Lisp-in-lisp: high performance and portability
IJCAI'83 Proceedings of the Eighth international joint conference on Artificial intelligence - Volume 2
On the Observational Theory of the CPS-calculus
Electronic Notes in Theoretical Computer Science (ENTCS)
CPS transformation of beta-redexes
Information Processing Letters
On the dynamic extent of delimited continuations
Information Processing Letters
Higher-Order and Symbolic Computation
On typing delimited continuations: three new solutions to the printf problem
Higher-Order and Symbolic Computation
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
A new one-pass transformation into monadic normal form
CC'03 Proceedings of the 12th international conference on Compiler construction
Science of Computer Programming
SAIG'01 Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation
From reduction-based to reduction-free normalization
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Managing continuations for proper tail recursion
Proceedings of the 2010 international conference on Lisp
Ordering multiple continuations on the stack
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
An equivalence-preserving CPS translation via multi-language semantics
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
SMLtoJs: hosting a standard ML compiler in a web browser
Proceedings of the 1st ACM SIGPLAN international workshop on Programming language and systems technologies for internet clients
A rational deconstruction of landin's SECD machine
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
A rational deconstruction of landin's j operator
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
Programming with multiple paradigms in lua
WFLP'09 Proceedings of the 18th international conference on Functional and Constraint Logic Programming
Control-flow analysis of functional programs
ACM Computing Surveys (CSUR)
Functional semantics of parsing actions, and left recursion elimination as continuation passing
Proceedings of the 14th symposium on Principles and practice of declarative programming
What shall we tell the children (about inheritance)?
Proceedings of the 5th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
Mechanically verifying correctness of CPS compilation
CATS '06 Proceedings of the Twelfth Computing: The Australasian Theory Symposium - Volume 51
Hi-index | 0.00 |
We have developed a compiler for the lexically-scoped dialect of LISP known as SCHEME. The compiler knows relatively little about specific data manipulation primitives such as arithmetic operators, but concentrates on general issues of environment and control. Rather than having specialized knowledge about a large variety of control and environment constructs, the compiler handles only a small basis set which reflects the semantics of lambda-calculus. All of the traditional imperative constructs, such as sequencing, assignment, looping, GO TO, as well as many standard LISP constructs such as AND, OR and COND, are expressed as macros in terms of the applicative basis set. A small number of optimization techniques, coupled with the treatment of function calls as GO TO statements, serves to produce code as good as that produced by more traditional compilers.