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.
Report Downloads
Cited By
- Torrens P, Orchard D and Vasconcellos C (2024). On the Operational Theory of the CPS-Calculus: Towards a Theoretical Foundation for IRs, Proceedings of the ACM on Programming Languages, 8:ICFP, (147-176), Online publication date: 15-Aug-2024.
- Germane K m-CFA Exhibits Perfect Stack Precision Programming Languages and Systems, (290-309)
- Sullivan Z, Downen P and Ariola Z Closure Conversion in Little Pieces Proceedings of the 25th International Symposium on Principles and Practice of Declarative Programming, (1-13)
- Augustsson L, Breitner J, Claessen K, Jhala R, Peyton Jones S, Shivers O, Steele Jr. G and Sweeney T (2023). The Verse Calculus: A Core Calculus for Deterministic Functional Logic Programming, Proceedings of the ACM on Programming Languages, 7:ICFP, (417-447), Online publication date: 30-Aug-2023.
- Paraskevopoulou Z and Grover A (2021). Compiling with continuations, correctly, Proceedings of the ACM on Programming Languages, 5:OOPSLA, (1-29), Online publication date: 20-Oct-2021.
- Paraskevopoulou Z, Li J and Appel A (2021). Compositional optimizations for CertiCoq, Proceedings of the ACM on Programming Languages, 5:ICFP, (1-30), Online publication date: 22-Aug-2021.
- Cong Y, Osvald L, Essertel G and Rompf T (2019). Compiling with continuations, or without? whatever., Proceedings of the ACM on Programming Languages, 3:ICFP, (1-28), Online publication date: 26-Jul-2019.
- Jayaprakash R pLisp: A Friendly Lisp IDE for Beginners Proceedings of the 11th European Lisp Symposium on European Lisp Symposium, (66-67)
- Maurer L, Downen P, Ariola Z and Peyton Jones S (2017). Compiling without continuations, ACM SIGPLAN Notices, 52:6, (482-494), Online publication date: 14-Sep-2017.
- Davis M, Meehan W and Shivers O (2017). No-brainer CPS conversion (functional pearl), Proceedings of the ACM on Programming Languages, 1:ICFP, (1-25), Online publication date: 29-Aug-2017.
- Maurer L, Downen P, Ariola Z and Peyton Jones S Compiling without continuations Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, (482-494)
- Germane K and Might M (2017). A posteriori environment analysis with Pushdown Delta CFA, ACM SIGPLAN Notices, 52:1, (19-31), Online publication date: 11-May-2017.
- Germane K and Might M A posteriori environment analysis with Pushdown Delta CFA Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, (19-31)
- Downen P, Maurer L, Ariola Z and Peyton Jones S (2016). Sequent calculus as a compiler intermediate language, ACM SIGPLAN Notices, 51:9, (74-88), Online publication date: 5-Dec-2016.
- Downen P, Maurer L, Ariola Z and Peyton Jones S Sequent calculus as a compiler intermediate language Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, (74-88)
- Zhai K, Townsend R, Lairmore L, Kim M and Edwards S Hardware synthesis from a recursive functional language Proceedings of the 10th International Conference on Hardware/Software Codesign and System Synthesis, (83-93)
- Leißa R, Köster M and Hack S A graph-based higher-order intermediate representation Proceedings of the 13th Annual IEEE/ACM International Symposium on Code Generation and Optimization, (202-212)
- Thielecke H (2014). On the semantics of parsing actions, Science of Computer Programming, 84, (52-76), Online publication date: 1-May-2014.
- Black A What shall we tell the children (about inheritance)? Proceedings of the 5th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance, (17-25)
- Morazán M Beautiful Imperative Code Essays Dedicated to Rinus Plasmeijer on the Occasion of His 61st Birthday on The Beauty of Functional Code - Volume 8106, (273-284)
- Thielecke H Functional semantics of parsing actions, and left recursion elimination as continuation passing Proceedings of the 14th symposium on Principles and practice of declarative programming, (91-102)
- Keep A, Hearn A and Dybvig R Optimizing closures in O(0) time Proceedings of the 2012 Annual Workshop on Scheme and Functional Programming, (30-35)
- Midtgaard J (2012). Control-flow analysis of functional programs, ACM Computing Surveys, 44:3, (1-33), Online publication date: 1-Jun-2012.
- Elsman M SMLtoJs Proceedings of the 1st ACM SIGPLAN international workshop on Programming language and systems technologies for internet clients, (39-48)
- Vardoulakis D and Shivers O Ordering multiple continuations on the stack Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation, (13-22)
- Yasugi M, Komiya T, Hiraishi T and Umatani S Managing continuations for proper tail recursion Proceedings of the 2010 international conference on Lisp, (65-72)
- Herzeel C and Costanza P (2010). Dynamic parallelization of recursive code, ACM SIGPLAN Notices, 45:10, (377-396), Online publication date: 17-Oct-2010.
- Herzeel C and Costanza P Dynamic parallelization of recursive code Proceedings of the ACM international conference on Object oriented programming systems languages and applications, (377-396)
- Culpepper R and Felleisen M (2010). Debugging hygienic macros, Science of Computer Programming, 75:7, (496-515), Online publication date: 1-Jul-2010.
- Asai K (2009). On typing delimited continuations, Higher-Order and Symbolic Computation, 22:3, (275-291), Online publication date: 1-Sep-2009.
- Danvy O, Shan C and Zerny I J Is for JavaScript Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages, (1-19)
- Ierusalimschy R Programming with multiple paradigms in lua Proceedings of the 18th international conference on Functional and Constraint Logic Programming, (1-12)
- Hammer M, Acar U and Chen Y CEAL Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation, (25-37)
- Danvy O and Millikin K (2009). Refunctionalization at work, Science of Computer Programming, 74:8, (534-549), Online publication date: 1-Jun-2009.
- Danvy O (2009). Peter J. Landin (1930---2009), Higher-Order and Symbolic Computation, 22:2, (191-195), Online publication date: 1-Jun-2009.
- Hammer M, Acar U and Chen Y (2009). CEAL, ACM SIGPLAN Notices, 44:6, (25-37), Online publication date: 28-May-2009.
- Danvy O Towards compatible and interderivable semantic specifications for the scheme programming language, part I Semantics and algebraic specification, (162-185)
- Clinger W Scheme@33 Celebrating the 50th Anniversary of Lisp, (1-5)
- Danvy O (2008). Defunctionalized interpreters for programming languages, ACM SIGPLAN Notices, 43:9, (131-142), Online publication date: 27-Sep-2008.
- Danvy O Defunctionalized interpreters for programming languages Proceedings of the 13th ACM SIGPLAN international conference on Functional programming, (131-142)
- Might M and Shivers O (2008). Exploiting reachability and cardinality in higher-order flow analysis, Journal of Functional Programming, 18:5-6, (821-864), Online publication date: 1-Sep-2008.
- Danvy O From reduction-based to reduction-free normalization Proceedings of the 6th international conference on Advanced functional programming, (66-164)
- Shan C (2007). A static simulation of dynamic delimited control, Higher-Order and Symbolic Computation, 20:4, (371-401), Online publication date: 1-Dec-2007.
- Chong S, Liu J, Myers A, Qi X, Vikram K, Zheng L and Zheng X (2007). Secure web applications via automatic partitioning, ACM SIGOPS Operating Systems Review, 41:6, (31-44), Online publication date: 14-Oct-2007.
- Chong S, Liu J, Myers A, Qi X, Vikram K, Zheng L and Zheng X Secure web applications via automatic partitioning Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, (31-44)
- Kennedy A Compiling with continuations, continued Proceedings of the 12th ACM SIGPLAN international conference on Functional programming, (177-190)
- Kennedy A (2007). Compiling with continuations, continued, ACM SIGPLAN Notices, 42:9, (177-190), Online publication date: 1-Oct-2007.
- Hudak P, Hughes J, Peyton Jones S and Wadler P A history of Haskell Proceedings of the third ACM SIGPLAN conference on History of programming languages, (12-1-12-55)
- Might M and Shivers O (2007). Analyzing the environment structure of higher-order languages using frame strings, Theoretical Computer Science, 375:1-3, (137-168), Online publication date: 20-Apr-2007.
- Biernacka M and Danvy O (2007). A syntactic correspondence between context-sensitive calculi and abstract machines, Theoretical Computer Science, 375:1-3, (76-108), Online publication date: 20-Apr-2007.
- Might M, Chambers B and Shivers O Model checking via ΓCFA Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation, (59-73)
- Might M and Shivers O Improving flow analyses via ΓCFA Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming, (13-25)
- Might M and Shivers O (2006). Improving flow analyses via ΓCFA, ACM SIGPLAN Notices, 41:9, (13-25), Online publication date: 16-Sep-2006.
- Feng X, Shao Z, Vaynberg A, Xiang S and Ni Z Modular verification of assembly code with stack-based control abstractions Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation, (401-414)
- Shivers O and Might M Continuations and transducer composition Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation, (295-307)
- Feng X, Shao Z, Vaynberg A, Xiang S and Ni Z (2006). Modular verification of assembly code with stack-based control abstractions, ACM SIGPLAN Notices, 41:6, (401-414), Online publication date: 11-Jun-2006.
- Shivers O and Might M (2006). Continuations and transducer composition, ACM SIGPLAN Notices, 41:6, (295-307), Online publication date: 11-Jun-2006.
- Biernacki D, Danvy O and Shan C (2006). On the static and dynamic extents of delimited continuations, Science of Computer Programming, 60:3, (274-297), Online publication date: 1-May-2006.
- Merro M and Biasi C (2006). On the Observational Theory of the CPS-calculus, Electronic Notes in Theoretical Computer Science (ENTCS), 158, (307-330), Online publication date: 1-May-2006.
- Tian Y Mechanically verifying correctness of CPS compilation Proceedings of the Twelfth Computing: The Australasian Theory Symposium - Volume 51, (41-51)
- Might M and Shivers O (2006). Environment analysis via ΔCFA, ACM SIGPLAN Notices, 41:1, (127-140), Online publication date: 12-Jan-2006.
- Might M and Shivers O Environment analysis via ΔCFA Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (127-140)
- Tian Y Mechanically verifying correctness of CPS compilation Proceedings of the 12th Computing: The Australasian Theroy Symposium - Volume 51, (41-51)
- Waddell O, Sarkar D and Dybvig R (2005). Fixing Letrec, Higher-Order and Symbolic Computation, 18:3-4, (299-326), Online publication date: 1-Dec-2005.
- Biernacki D, Danvy O and Shan C (2005). On the dynamic extent of delimited continuations, Information Processing Letters, 96:1, (7-17), Online publication date: 16-Oct-2005.
- Shivers O The anatomy of a loop Proceedings of the tenth ACM SIGPLAN international conference on Functional programming, (2-14)
- Danvy O and Millikin K A rational deconstruction of landin's j operator Proceedings of the 17th international conference on Implementation and Application of Functional Languages, (55-73)
- Shivers O (2005). The anatomy of a loop, ACM SIGPLAN Notices, 40:9, (2-14), Online publication date: 12-Sep-2005.
- Ager M, Danvy O and Midtgaard J (2005). A functional correspondence between monadic evaluators and abstract machines for languages with computational effects, Theoretical Computer Science, 342:1, (149-172), Online publication date: 6-Sep-2005.
- Luna D, Pettersson M and Sagonas K Efficiently compiling a functional language on AMD64 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming, (176-186)
- Danvy O and Nielsen L (2005). CPS transformation of beta-redexes, Information Processing Letters, 94:5, (217-224), Online publication date: 15-Jun-2005.
- Danvy O (2005). From Reduction-based to Reduction-free Normalization, Electronic Notes in Theoretical Computer Science (ENTCS), 124:2, (79-100), Online publication date: 18-Apr-2005.
- Shivers O and Fisher D Multi-return function call Proceedings of the ninth ACM SIGPLAN international conference on Functional programming, (79-89)
- Shivers O and Fisher D (2004). Multi-return function call, ACM SIGPLAN Notices, 39:9, (79-89), Online publication date: 19-Sep-2004.
- Danvy O A rational deconstruction of landin's SECD machine Proceedings of the 16th international conference on Implementation and Application of Functional Languages, (52-71)
- Flanagan C, Sabry A, Duba B and Felleisen M (2004). The essence of compiling with continuations, ACM SIGPLAN Notices, 39:4, (502-514), Online publication date: 1-Apr-2004.
- Shivers O (2004). Higher-order control-flow analysis in retrospect, ACM SIGPLAN Notices, 39:4, (257-269), Online publication date: 1-Apr-2004.
- Kranz D, Kelsey R, Rees J, Hudak P, Philbin J and Adams N (2004). Orbit, ACM SIGPLAN Notices, 39:4, (175-191), Online publication date: 1-Apr-2004.
- Führmann C and Thielecke H (2004). On the call-by-value CPS transform and its semantics, Information and Computation, 188:2, (241-283), Online publication date: 29-Jan-2004.
- Cooper K and Torczon L (2003). Engineering a Compiler, 10.5555/2737838, Online publication date: 11-Dec-2003.
- Kameyama Y and Hasegawa M (2003). A sound and complete axiomatization of delimited continuations, ACM SIGPLAN Notices, 38:9, (177-188), Online publication date: 25-Sep-2003.
- Kameyama Y and Hasegawa M A sound and complete axiomatization of delimited continuations Proceedings of the eighth ACM SIGPLAN international conference on Functional programming, (177-188)
- Danvy O A new one-pass transformation into monadic normal form Proceedings of the 12th international conference on Compiler construction, (77-89)
- Thielecke H (2003). From control effects to typed continuation passing, ACM SIGPLAN Notices, 38:1, (139-149), Online publication date: 15-Jan-2003.
- Thielecke H From control effects to typed continuation passing Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (139-149)
- Reppy J (2002). Optimizing Nested Loops Using Local CPS Conversion, Higher-Order and Symbolic Computation, 15:2-3, (161-180), Online publication date: 1-Sep-2002.
- Damian D and Danvy O Static transition compression Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation, (92-107)
- Danvy O and Nielsen L Defunctionalization at work Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming, (162-174)
- Damian D and Danvy O (2000). Syntactic accidents in program analysis, ACM SIGPLAN Notices, 35:9, (209-220), Online publication date: 1-Sep-2000.
- Damian D and Danvy O Syntactic accidents in program analysis Proceedings of the fifth ACM SIGPLAN international conference on Functional programming, (209-220)
- Wakeling D (1999). Compiling lazy functional programs for the Java Virtual Machine, Journal of Functional Programming, 9:6, (579-603), Online publication date: 1-Nov-1999.
- Barthe G, Hatcliff J and Sørensen M (1999). CPS Translations and Applications, Higher-Order and Symbolic Computation, 12:2, (125-170), Online publication date: 1-Sep-1999.
- Thielecke H (1999). Continuations, functions and jumps, ACM SIGACT News, 30:2, (33-42), Online publication date: 1-Jun-1999.
- Reynolds J (1998). Definitional Interpreters Revisited, Higher-Order and Symbolic Computation, 11:4, (355-361), Online publication date: 1-Dec-1998.
- Moreau L (1998). A Syntactic Theory of Dynamic Binding, Higher-Order and Symbolic Computation, 11:3, (233-279), Online publication date: 1-Oct-1998.
- Kučan J (1998). Retraction Approach to CPS Transform, Higher-Order and Symbolic Computation, 11:2, (145-175), Online publication date: 1-Sep-1998.
- Abelson H, Dybvig R, Haynes C, Rozas G, Adams Iv N, Friedman D, Kohlbecker E, Steele G, Bartley D, Halstead R, Oxley D, Sussman G, Brooks G, Hanson C, Pitman K and Wand M (1998). Revised Report on the Algorithmic Language Scheme, Higher-Order and Symbolic Computation, 11:1, (7-105), Online publication date: 1-Aug-1998.
- Tolmach A and Oliva D (1998). From ML to Ada: Strongly-typed language interoperability via source translation, Journal of Functional Programming, 8:4, (367-412), Online publication date: 1-Jul-1998.
- Palsberg J Eta-Redexes in Partial Evaluation Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School, (356-366)
- Clinger W (1998). Proper tail recursion and space efficiency, ACM SIGPLAN Notices, 33:5, (174-185), Online publication date: 1-May-1998.
- Clinger W Proper tail recursion and space efficiency Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, (174-185)
- Blume M and Appel A (1997). Lambda-splitting, ACM SIGPLAN Notices, 32:8, (112-124), Online publication date: 1-Aug-1997.
- Dimock A, Muller R, Turbak F and Wells J (1997). Strongly typed flow-directed representation transformations (extended abstract), ACM SIGPLAN Notices, 32:8, (11-24), Online publication date: 1-Aug-1997.
- Blume M and Appel A Lambda-splitting Proceedings of the second ACM SIGPLAN international conference on Functional programming, (112-124)
- Dimock A, Muller R, Turbak F and Wells J Strongly typed flow-directed representation transformations (extended abstract) Proceedings of the second ACM SIGPLAN international conference on Functional programming, (11-24)
- Booth C and Bruce D (1997). Stack-free process-oriented simulation, ACM SIGSIM Simulation Digest, 27:1, (182-185), Online publication date: 1-Jul-1997.
- Booth C and Bruce D Stack-free process-oriented simulation Proceedings of the eleventh workshop on Parallel and distributed simulation, (182-185)
- Sperber M and Thiemann P (1997). Two for the price of one, ACM SIGPLAN Notices, 32:5, (215-225), Online publication date: 1-May-1997.
- Sperber M and Thiemann P Two for the price of one Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, (215-225)
- Mason D A functional intermediate form for diverse source languages Proceedings of the 1996 conference of the Centre for Advanced Studies on Collaborative research
- Sabry A and Wadler P (1996). A reflection on call-by-value, ACM SIGPLAN Notices, 31:6, (13-24), Online publication date: 15-Jun-1996.
- Sabry A and Wadler P A reflection on call-by-value Proceedings of the first ACM SIGPLAN international conference on Functional programming, (13-24)
- Sperber M and Thiemann P (1996). Realistic compilation by partial evaluation, ACM SIGPLAN Notices, 31:5, (206-214), Online publication date: 1-May-1996.
- Sperber M and Thiemann P Realistic compilation by partial evaluation Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, (206-214)
- Danvy O Type-directed partial evaluation Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (242-257)
- Steele G and Gabriel R The evolution of Lisp History of programming languages---II, (233-330)
- Shao Z and Appel A A type-based compiler for standard ML Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation, (116-129)
- Shao Z and Appel A (1995). A type-based compiler for standard ML, ACM SIGPLAN Notices, 30:6, (116-129), Online publication date: 1-Jun-1995.
- Kelsey R (1995). A correspondence between continuation passing style and static single assignment form, ACM SIGPLAN Notices, 30:3, (13-22), Online publication date: 1-Mar-1995.
- Kelsey R A correspondence between continuation passing style and static single assignment form Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations, (13-22)
- Reynolds J Using functor categories to generate intermediate code Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (25-36)
- Baker H (1995). “Use-once” variables and linear objects, ACM SIGPLAN Notices, 30:1, (45-52), Online publication date: 3-Jan-1995.
- Sabry A and Felleisen M Is continuation-passing useful for data flow analysis? Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, (1-12)
- Shao Z, Reppy J and Appel A (1994). Unrolling lists, ACM SIGPLAN Lisp Pointers, VII:3, (185-195), Online publication date: 1-Jul-1994.
- Clinger W and Hansen L (1994). Lambda, the ultimate label or a simple optimizing compiler for Scheme, ACM SIGPLAN Lisp Pointers, VII:3, (128-139), Online publication date: 1-Jul-1994.
- Shao Z and Appel A (1994). Space-efficient closure representations, ACM SIGPLAN Lisp Pointers, VII:3, (150-161), Online publication date: 1-Jul-1994.
- Shao Z, Reppy J and Appel A Unrolling lists Proceedings of the 1994 ACM conference on LISP and functional programming, (185-195)
- Clinger W and Hansen L Lambda, the ultimate label or a simple optimizing compiler for Scheme Proceedings of the 1994 ACM conference on LISP and functional programming, (128-139)
- Shao Z and Appel A Space-efficient closure representations Proceedings of the 1994 ACM conference on LISP and functional programming, (150-161)
- Sabry A and Felleisen M (1994). Is continuation-passing useful for data flow analysis?, ACM SIGPLAN Notices, 29:6, (1-12), Online publication date: 1-Jun-1994.
- Baker H (1994). Linear logic and permutation stacks—the Forth shall be first, ACM SIGARCH Computer Architecture News, 22:1, (34-43), Online publication date: 1-Mar-1994.
- Queinnec C (1993). A library of high level control operators, ACM SIGPLAN Lisp Pointers, VI:4, (11-26), Online publication date: 1-Oct-1993.
- Baker H (1993). Equal rights for functional objects or, the more things change, the more they are the same, ACM SIGPLAN OOPS Messenger, 4:4, (2-27), Online publication date: 1-Oct-1993.
- Flanagan C, Sabry A, Duba B and Felleisen M The essence of compiling with continuations Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, (237-247)
- Adams N, Curtis P and Spreitzer M First-class data-type representations in SCHEMEXEROX Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, (139-146)
- Malmkjær K Towards efficient partial evaluation Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, (33-43)
- Baker H (1993). Iterators, ACM SIGPLAN OOPS Messenger, 4:3, (18-25), Online publication date: 1-Jul-1993.
- Flanagan C, Sabry A, Duba B and Felleisen M (1993). The essence of compiling with continuations, ACM SIGPLAN Notices, 28:6, (237-247), Online publication date: 1-Jun-1993.
- Adams N, Curtis P and Spreitzer M (1993). First-class data-type representations in SCHEMEXEROX, ACM SIGPLAN Notices, 28:6, (139-146), Online publication date: 1-Jun-1993.
- Harper R and Lillibridge M Explicit polymorphism and CPS conversion Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (206-219)
- Lawall J and Danvy O Separating stages in the continuation-passing style transformation Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (124-136)
- Baker H (1992). The buried binding and dead binding problems of Lisp 1.5, ACM SIGPLAN Lisp Pointers, V:2, (11-19), Online publication date: 1-Apr-1992.
- Baker H (1992). CONS should not CONS its arguments, or, a lazy alloc is a smart alloc, ACM SIGPLAN Notices, 27:3, (24-34), Online publication date: 1-Mar-1992.
- Filinski A Linear continuations Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (27-38)
- Danvy O and Lawall J Back to direct style II Proceedings of the 1992 ACM conference on LISP and functional programming, (299-310)
- Sabry A and Felleisen M Reasoning about programs in continuation-passing style. Proceedings of the 1992 ACM conference on LISP and functional programming, (288-298)
- Nagasaka A, Shintani Y, Ito T, Gomi H and Takahashi J Tachyon Common Lisp Proceedings of the 1992 ACM conference on LISP and functional programming, (270-277)
- MacLachlan R The Python compiler for CMU Common Lisp Proceedings of the 1992 ACM conference on LISP and functional programming, (235-246)
- Bondorf A Improving binding times without explicit CPS-conversion Proceedings of the 1992 ACM conference on LISP and functional programming, (1-10)
- Danvy O and Lawall J (1992). Back to direct style II, ACM SIGPLAN Lisp Pointers, V:1, (299-310), Online publication date: 1-Jan-1992.
- Sabry A and Felleisen M (1992). Reasoning about programs in continuation-passing style., ACM SIGPLAN Lisp Pointers, V:1, (288-298), Online publication date: 1-Jan-1992.
- Nagasaka A, Shintani Y, Ito T, Gomi H and Takahashi J (1992). Tachyon Common Lisp, ACM SIGPLAN Lisp Pointers, V:1, (270-277), Online publication date: 1-Jan-1992.
- MacLachlan R (1992). The Python compiler for CMU Common Lisp, ACM SIGPLAN Lisp Pointers, V:1, (235-246), Online publication date: 1-Jan-1992.
- Bondorf A (1992). Improving binding times without explicit CPS-conversion, ACM SIGPLAN Lisp Pointers, V:1, (1-10), Online publication date: 1-Jan-1992.
- Shivers O (1991). The semantics of Scheme control-flow analysis, ACM SIGPLAN Notices, 26:9, (190-198), Online publication date: 1-Sep-1991.
- Baker H (1991). Structured programming with limited private types in Ada, ACM SIGAda Ada Letters, XI:5, (79-90), Online publication date: 1-Aug-1991.
- Abelson H, Dybvig R, Haynes C, Rozas G, Adams N, Friedman D, Kohlbecker E, Steele G, Bartley D, Halstead R, Oxley D, Sussman G, Brooks G, Hanson C, Pitman K, Wand M, Clinger W and Rees J (1991). Revised4 report on the algorithmic language scheme, ACM SIGPLAN Lisp Pointers, IV:3, (1-55), Online publication date: 1-Jul-1991.
- Shivers O The semantics of Scheme control-flow analysis Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, (190-198)
- Pingali K, Beck M, Johnson R, Moudgill M and Stodghill P Dependence flow graphs: an algebraic approach to program dependencies Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (67-78)
- Teodosiu D (1991). HARE, ACM SIGPLAN Notices, 26:1, (109-120), Online publication date: 1-Jan-1991.
- Baker H Unify and conquer Proceedings of the 1990 ACM conference on LISP and functional programming, (218-226)
- Giorgi J and Le Métayer D Continuation-based parallel implementation of functional programming languages Proceedings of the 1990 ACM conference on LISP and functional programming, (209-217)
- Katz M and Weise D Continuing into the future: on the interaction of futures and first-class continuations Proceedings of the 1990 ACM conference on LISP and functional programming, (176-184)
- Danvy O and Filinski A Abstracting control Proceedings of the 1990 ACM conference on LISP and functional programming, (151-160)
- Traub K Compilation as partitioning: a new approach to compiling non-strict functional languages Proceedings of the fourth international conference on Functional programming languages and computer architecture, (75-88)
- Cheng D HDB-a high level debugging Proceedings of the 1989 ACM/IEEE conference on Supercomputing, (568-573)
- Vegdahl S and Pleban U The runtime environment for Scheme, a Scheme implementation on the 88000 Proceedings of the third international conference on Architectural support for programming languages and operating systems, (172-182)
- Vegdahl S and Pleban U (1989). The runtime environment for Scheme, a Scheme implementation on the 88000, ACM SIGARCH Computer Architecture News, 17:2, (172-182), Online publication date: 1-Apr-1989.
- Appel A and Jim T Continuation-passing, closure-passing style Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (293-302)
- Kelsey R and Hudak P Realistic compilation by program transformation (detailed summary) Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (281-292)
- Hickey T CLP and constraint abstraction Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (125-133)
- Rose J (1988). Refined types: highly differentiated type systems and their use in the design of intermediate languages, ACM SIGPLAN Notices, 23:7, (278-287), Online publication date: 1-Jul-1988.
- Shivers O (1988). Control flow analysis in scheme, ACM SIGPLAN Notices, 23:7, (164-174), Online publication date: 1-Jul-1988.
- Chase D (1988). Safety consideration for storage allocation optimizations, ACM SIGPLAN Notices, 23:7, (1-10), Online publication date: 1-Jul-1988.
- Yigit O (1988). Readings in scheme, ACM SIGPLAN Lisp Pointers, 2:1, (56-61), Online publication date: 1-Jul-1988.
- Harrison L Parcel: project for the automatic restructuring and concurrent evaluation of LISP Proceedings of the 2nd international conference on Supercomputing, (527-538)
- Rose J Refined types: highly differentiated type systems and their use in the design of intermediate languages Proceedings of the ACM SIGPLAN 1988 conference on Programming language design and implementation, (278-287)
- Shivers O Control flow analysis in scheme Proceedings of the ACM SIGPLAN 1988 conference on Programming language design and implementation, (164-174)
- Chase D Safety consideration for storage allocation optimizations Proceedings of the ACM SIGPLAN 1988 conference on Programming language design and implementation, (1-10)
- Felleisen M λ-V-CS: an extended λ-calculus for scheme Proceedings of the 1988 ACM conference on LISP and functional programming, (72-85)
- Clinger W (1987). The scheme environment, ACM SIGPLAN Lisp Pointers, 1:2, (22-28), Online publication date: 1-Jun-1987.
- Rees J and Clinger W (1986). Revised3 report on the algorithmic language scheme, ACM SIGPLAN Notices, 21:12, (37-79), Online publication date: 1-Dec-1986.
- de Jong P (1986). Compilation into actors, ACM SIGPLAN Notices, 21:10, (68-77), Online publication date: 1-Oct-1986.
- Steele G and Hillis W Connection Machine Lisp Proceedings of the 1986 ACM conference on LISP and functional programming, (279-297)
- Bartley D and Jensen J The implementation of PC Scheme Proceedings of the 1986 ACM conference on LISP and functional programming, (86-93)
- Brooks R, Posner D, McDonald J, White J, Benson E and Gabriel R Design of an optimizing, dynamically retargetable compiler for common Lisp Proceedings of the 1986 ACM conference on LISP and functional programming, (67-85)
- Gifford D and Lucassen J Integrating functional and imperative programming Proceedings of the 1986 ACM conference on LISP and functional programming, (28-38)
- Adams N, Kranz D, Kelsey R, Rees J, Hudak P and Philbin J (1986). ORBIT: an optimizing compiler for scheme, ACM SIGPLAN Notices, 21:7, (219-233), Online publication date: 1-Jul-1986.
- Adams N, Kranz D, Kelsey R, Rees J, Hudak P and Philbin J ORBIT: an optimizing compiler for scheme Proceedings of the 1986 SIGPLAN symposium on Compiler construction, (219-233)
- de Jong P Compilation into actors Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming, (68-77)
- Felgentreu K and Lippe W Dynamic optimization of covered tail recursive functions in applicative languages Proceedings of the 1986 ACM fourteenth annual conference on Computer science, (293-299)
- Clinger W The scheme 311 compiler an exercise in denotational semantics Proceedings of the 1984 ACM Symposium on LISP and functional programming, (356-364)
- Rivières J and Smith B The implementation of procedurally reflective languages Proceedings of the 1984 ACM Symposium on LISP and functional programming, (331-347)
- Cardelli L Compiling a functional language Proceedings of the 1984 ACM Symposium on LISP and functional programming, (208-217)
- Hudak P and Kranz D A combinator-based compiler for a functional language Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, (122-132)
- Rees J and Adams IV N T: a dialect of Lisp or LAMBDA Proceedings of the 1982 ACM symposium on LISP and functional programming, (114-122)
- Brooks R, Gabriel R and Steele G An optimizing compiler for lexically scoped LISP Proceedings of the 1982 SIGPLAN symposium on Compiler construction, (261-275)
- Bodwin J, Bradley L, Kanda K, Litle D and Pleban U Experience with an experimental compiler generator based on denotational semantics Proceedings of the 1982 SIGPLAN symposium on Compiler construction, (216-229)
- Brooks R, Gabriel R and Steele G (1982). An optimizing compiler for lexically scoped LISP, ACM SIGPLAN Notices, 17:6, (261-275), Online publication date: 1-Jun-1982.
- Bodwin J, Bradley L, Kanda K, Litle D and Pleban U (1982). Experience with an experimental compiler generator based on denotational semantics, ACM SIGPLAN Notices, 17:6, (216-229), Online publication date: 1-Jun-1982.
- Masinter L and Deutsch L Local optimization in a compiler for stack-based Lisp machines Proceedings of the 1980 ACM conference on LISP and functional programming, (223-230)
- Pitman K Special forms in Lisp Proceedings of the 1980 ACM conference on LISP and functional programming, (179-187)
- McDermott D An efficient environment allocation scheme in an interpreter for a lexically-scoped LISP Proceedings of the 1980 ACM conference on LISP and functional programming, (154-162)
- Muchnick S and Pleban U A semantic comparison of LISP and SCHEME Proceedings of the 1980 ACM conference on LISP and functional programming, (56-64)
- (1979). Reports, manuals, books, ACM Lisp Bulletin:3, (4-4), Online publication date: 1-Dec-1979.
Recommendations
The Intel labs Haskell research compiler
Haskell '13The Glasgow Haskell Compiler (GHC) is a well supported optimizing compiler for the Haskell programming language, along with its own extensions to the language and libraries. Haskell's lazy semantics imposes a runtime model which is in general difficult ...
Compositional compiler construction
We describe an implementation of an Oberon0 compiler using the techniques proposed in the CoCoCo project. The compiler is constructed out of a collection of pre-compiled, statically type-checked language-definition fragments written in Haskell. Oberon0 ...
Xoc, an extension-oriented compiler for systems programming
ASPLOS '08Today's system programmers go to great lengths to extend the languages in which they program. For instance, system-specific compilers find errors in Linux and other systems, and add support for specialized control flow to Qt and event-based programs. ...