Skip to content

Latest commit

 

History

History
237 lines (219 loc) · 61 KB

page8.md

File metadata and controls

237 lines (219 loc) · 61 KB

Compiler Technology/Implementation Techniques and Optimization

Basic Techniques

  • Guy Lewis Steele, Jr.. "RABBIT: A Compiler for SCHEME". Masters Thesis. MIT AI Lab. AI Lab Technical Report AITR-474. May 1978. Available online: ps pdf.
  • David A. Kranz, Richard A. Kelsey, Jonathan A. Rees, Paul Hudak and James Philbin. "ORBIT: an optimizing compiler for scheme". Proceedings of the SIGPLAN symposium on Compiler contruction. June 1986. Available online: ACM Digital Library.
  • David A. Kranz. "ORBIT: An Optimizing Compiler for Scheme". PhD. Thesis. Yale. 1988. Available online: ps pdf.
  • Marc Feeley. "Deux approches a l'implantation du language Scheme". Masters Thesis. Universite de Montreal. May 1986. Available online: ps.
  • R. Kent Dybvig. "Three Implementation Models for Scheme". PhD. Thesis. University of North Carolina, Computer Science Department. Technical Report 87-011. April 1987. Available online: pdf.
  • William D. Clinger. "The scheme 311 compiler an exercise in denotational semantics". 1984 ACM Symposium on LISP and functional programming. 1984. Available online: ACM Digital Library.
  • David H. Bartley and John C. Jensen. "The implementation of PC Scheme". Proceedings of the 1986 ACM conference on LISP and functional programming. 1986. Available online: ACM Digital Library.
  • Manuel Serrano. "Vers une programmation fonctionnelle praticable". 2000. Available online: ps.
  • Manuel Serrano and Pierre Weis. "Bigloo: a portable and optimizing compiler for strict functional languages". Static Analysis Symposium, SAS'95. September 1995. Available online: ps.
  • Jonathan A. Rees. "A Security Kernel Based on the Lambda-Calculus". PhD. Thesis. February 1995. Available online: ps.
  • Richard A. Kelsey and Jonathan A. Rees. "A tractable Scheme implementation". Lisp and Symbolic Computation. 7(4). 1994. Available online: ps pdf.
  • William D. Clinger and Lars Thomas Hansen. "Lambda, the ultimate label, or a simple optimizing compiler for Scheme". Proceedings of the 1994 ACM conference on LISP and Functional Programming. 1994. Available online: ACM Digital Library.
  • William D. Clinger, Anne Hartheimer and Eric M. Ost. "Implementation strategies for continuations". Proceedings of the 1988 ACM conference on LISP and functional programming. July 1988. Available online: ACM Digital Library.
  • William D. Clinger. "Rapid Case Dispatch in Scheme". 2006 Workshop on Scheme and Functional Programming. September 2006. Available online: pdf.
  • Carl Bruggeman, Oscar Waddell and R. Kent Dybvig. "Representing Control in the Presence of One-Shot Continuations". ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation. June 1996. Available online: ps.
  • Erik Hilsdale, J. Michael Ashley, R. Kent Dybvig and Daniel P. Friedman. "Compiler Construction Using Scheme". First International Symposium, Functional Programming Languages in Education. 1995. Available online: pdf.
  • J. Michael Ashley and R. Kent Dybvig. "An Efficient Implementation of Multiple Return Values in Scheme". 1994 ACM Conference on LISP and Functional Programming. June 1994. Available online: pdf.
  • Robert Hieb, R. Kent Dybvig and Carl Bruggeman. "Representing Control in the Presence of First-Class Continuations". ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation. June 1990. Available online: ps.
  • Cormac Flanagan, Amr Sabry, Bruce F. Duba and Matthias Felleisen. "The Essence of Compiling with Continuations". Proceedings of PLDI 93. 1993. Available online: ps.
  • Amr Sabry. "The Formal Relationship between Direct and Continuation-passing Style Optimizing Compilers: A Synthesis of Two Paradigms". PhD. Thesis. Rice University. Available online: ps.
  • Christian Queinnec. "Continuation conscious compilation". Lisp Pointers. 6(1). January 1993. Available online: ps pdf.
  • Christian Queinnec. "Continuation sensitive compilation". Laboratoire d'Informatique de l'École Polytechnique. Research Report LIX RR 92/14. November 1992. Available online: ps pdf.
  • Peter Thiemann. "Higher-Order Code Splicing". European Symposium on Programming, ESOP '99. volume 1576 of Lecture Notes in Computer Science. March 1999. Available online: ps.
  • Guy Lewis Steele, Jr.. "Debunking the "Expensive Procedure Call" Myth, or Procedure Call Implementations Considered Harmful, or LAMBDA, the Ultimate GOTO". ACM Conference Proceedings. 1977. Available online: ACM Digital Library.
  • Guillermo J. Rozas. "Liar, an Algol-like Compiler for Scheme". Massachusetts Institute of Technology. S. B. Thesis. January 1984.
  • Richard Schooler and James W. Stamos. "Proposal For a Small Scheme Implementation". Massachusetts Institute of Technology. MIT LCS Memo TM-267. October 1984.
  • Mitchell Wand. "From Interpreter to Compiler: A Representational Derivation". Programs as Data Objects. Lecture Notes in Computer Science. 1986.
  • Mitchell Wand and Daniel P. Friedman. "Compiling Lambda Expressions Using Continuations and Factorizations". Journal of Computer Languages. 3. 1978.
  • Guy Lewis Steele, Jr.. "Compiler Optimization Based on Viewing LAMBDA as RENAME + GOTO". AI: An MIT Perspective. 1980.
  • Guy Lewis Steele, Jr. and Gerald Jay Sussman. "The Dream of a Lifetime: a Lazy Variable Extent Mechanism". Conference Record of the 1980 Lisp Conference. 1980. Available online: ACM Digital Library.
  • Guy Lewis Steele, Jr. and Gerald Jay Sussman. "The Dream of a Lifetime: a Lazy Variable Extent Mechanism". 1979. Available online: ps pdf.
  • Drew McDermott. "An Efficient Environment Allocation Scheme in an Interpreter for a Lexically-Scoped Lisp". Conference Record of the 1980 Lisp Conference. 1980. Available online: ACM Digital Library.
  • Steven R. Vegdahl and Uwe F. Pleban. "The Runtime Environment for Screme, a Scheme Implementation on the 88000". Proceedings of the Third International Conference on Architectural Support for Programming Languages and Operating Systems. April 1989. Available online: ACM Digital Library.
  • Barak A. Pearlmutter and Kevin J. Lang. "The Implementation of Oaklisp". Topics in Advanced Language Implementation. 1991.
  • Uwe F. Pleban. "Compilation Issues in the Screme Implementation for the 88000". Topics in Advanced Language Implementation. 1991.
  • Dan Teodosiu. "HARE: An Optimizing Portable Compiler for Scheme". ACM Sigplan Notices. 26. 1. Jan 1991. Available online: ps pdf.
  • Nitsan Seniak. "Compilation de Scheme par specialisation explicite". BIGRE Bulletin. 65. July 1989.
  • Chris Hanson. "Efficient Stack Allocation for Tail-Recursive Languages". Proceedings of the 1990 ACM Conference on Lisp and Functional Programming. June 1990. Available online: ACM Digital Library.
  • Dan Teodosiu. "HARE: A Compiler for Scheme". Masters Thesis. Master's Thesis. June 1990.
  • Michael Sperber and Martin Gasbichler. "Final shift for call/cc: Direct implementation of shift and reset". International Conference on Functional Programming (ICFP'2002). October 2002. Available online: ps.
  • Martin Gasbichler, Michael Sperber. "A Direct Implementation of Shift/Reset". IFL 2001. 2001.
  • Abdulaziz Ghuloum and R. Kent Dybvig. "Fixing Letrec (reloaded)". 2009 Workshop on Scheme and Functional Programming. August 2009. Available online: pdf.
  • Abdulaziz Ghuloum. "An Incremental Approach to Compiler Construction". 2006 Workshop on Scheme and Functional Programming. September 2006. Available online: pdf.
  • Dipanwita Sarkar, Oscar Waddell and R. Kent Dybvig. "A Nanopass Infrastructure for Compiler Education". International Conference on Functional Programming 2004 (ICFP2004). September 2004.
  • Greg Pettyjohn, John Clements, Joe Marshall, Shriram Krishnamurthi and Matthias Felleisen. "Continuations from Generalized Stack Inspection". International Conference on Functional Programming, ICFP 2005. September 2005. Available online: downloadable paper.
  • Matthew Flatt and Eli Barzilay. "Keyword and Optional Arguments in PLT Scheme". 2009 Workshop on Scheme and Functional Programming. August 2009. Available online: pdf.
  • Abdulaziz Ghuloum and R. Kent Dybvig. "Generation-Friendly Eq Hash Tables". 2007 Workshop on Scheme and Functional Programming. September 2007. Available online: pdf.

Implementing Scheme in Java, .NET, and JavaScript

  • Remzi Emre Başar, Caner Derici and Çağdaş Şenol. "World With Web: A compiler from world applications to JavaScript". 2009 Workshop on Scheme and Functional Programming. August 2009. Available online: pdf.
  • Akihito Nagata, Eijiro Sumii and Akinori Yonezawa. "A Scheme-to-Java Translator with Soft Typing". May 2002. Available online: ps.
  • Bernard Serpette and Manuel Serrano. "Compiling Scheme to JVM bytecode: a performance study". International Conference on Functional Programming (ICFP'2002). October 2002. Available online: ps.
  • Scott G. Miller. "SISC: A Complete Scheme Interpreter in Java". January 2002. Available online: ps pdf.
  • Kenneth R. Anderson, Timothy J. Hickey and Peter Norvig. "SILK: a playful blend of Scheme and Java". Scheme and Functional Programming 2000. September 2000. Available online: ps pdf.
  • Timothy J. Hickey. "Incorporating Scheme-based web programming in computer-literacy courses". Workshop on Scheme and Functional Programming (2002). October 2002. Available online: pdf.
  • Timothy J. Hickey. "Incorporating Scheme-based Web Programmming into Computer Literacy Courses". Brandeis University. CS-02-224. April 2002. Available online: ps pdf.
  • Timothy J. Hickey. "Jscheme Web Programming for CS0". Brandeis University. CS-02-223. January 2002. Available online: ps.
  • Kenneth R. Anderson and Timothy J. Hickey. "Reflecting Java into Scheme". Proceedings of Reflection 99. Lecture Notes in Computer Science, v. 1616. 1999.
  • Timothy J. Hickey, Peter Norvig and Kenneth R. Anderson. "LISP - a Language for Internet Scripting and Programming". LUGM'98: Proceedings of Lisp in the Mainstream. November 1998. Available online: pdf.
  • Per Bothner. "Kawa - Compiling Dynamic Languages to the Java VM". 1998 Usenix. June 1998. Available online: ps.
  • Per Bothner. "Kawa: Compiling Scheme to Java". Lisp Users Conference: Lisp in the Mainstream (40th Anniversary of Lisp). November 1998. Available online: ps.
  • Mark DePristo. "SINTL: A Strongly-Typed Generic Intermediate Language for Scheme". Northwestern University. May 2000. Available online: ps pdf.
  • Brian D. Carlstrom. "Embedding Scheme in Java". PhD. Thesis. Massachusetts Institute of Technlogy. February 2001. Available online: pdf.
  • Yannis Bres and Bernard Serpette and Manuel Serrano. "Compiling Scheme programs to .NET Common Intermediate Language". 2nd International Workshop on .NET Technologies. May 2004. Available online: pdf.
  • Yannis Bres and Bernard Serpette and Manuel Serrano. "Bigloo.NET: compiling Scheme to .NET CLR". Journal of Object Technology. 3(9). October 2004. Available online: html.
  • Florian Loitsch. "Javascript to Scheme Compilation". 2005 Workshop on Scheme and Functional Programming. September 2005. Available online: ps pdf.

Compiling Scheme to C

  • Joel F. Bartlett. "SCHEME->C: A Portable Scheme-to-C Compiler". 1989. Available online: ps.
  • R. Kent Dybvig. "C-Scheme". Masters Thesis. Indiana University Computer Science Department. Technical Report 149. 1983.
  • Manuel Serrano. "Vers une compilation portable et performante des langages fonctionnels". PhD. Thesis. l'Universite Paris VI. December 1994. Available online: ps.
  • Tanel Tammet. "Lambda-lifting as an optimization for compiling Scheme to C". Chalmers University of Technology. Available online: ps pdf.
  • Brent W. Benson, Jr.. "libscheme: Scheme as a C Library". Proceedings of the 1994 USENIX Symposium on Very High Level Languages. 1994. Available online: ps.
  • John R. Rose and Hans Muller. "Integrating the Scheme and C languages". Proceedings of the conference on Lisp and functional programming. June 1992. Available online: ACM Digital Library.
  • Henry G. Baker. "CONS Should Not CONS Its Arguments, Part II: Cheney on the M.T.A.". May 1994. Available online: ps html.
  • Marc Feeley, James S. Miller, Guillermo J. Rozas, Jason A. Wilson. "Compiling Higher-Order Languages into Fully Tail-Recursive Portable C". departement d'informatique et r.o., Universite de Montreal. Rapport technique 1078. Aout 1997. Available online: ps.
  • Marc Feeley. "A portable implementation of first-class continuations for unrestricted interoperability with C in a multithreaded Scheme". Scheme and Functional Programming 2000. September 2000. Available online: ps pdf.

VLISP: Formally Verified Scheme Implementation

  • Joshua D. Guttman, John D. Ramsdell and Mitchell Wand. "VLISP: A Verified Implementation of Scheme". Lisp and Symbolic Computation. Vol. 8 No. 1/2. 1995. Available online: ps pdf.
  • Joshua D. Guttman, John D. Ramsdell and Vipin Swarup. "The VLISP Verified Scheme System". Lisp and Symbolic Computation. Vol. 8 No. 1/2. 1995. Available online: ps pdf.
  • Dino P. Oliva, John D. Ramsdell and Mitchell Wand. "The VLISP Verified PreScheme Compiler". Lisp and Symbolic Computation. Vol. 8 No. 1/2. 1995. Available online: ps pdf.
  • Joshua D. Guttman, Leonard G. Monk, John D. Ramsdell, William M. Farmer, Vipin Swarup. "A Guide to VLISP, A Verifed Programming Language Implementation". MITRE Corporation. September 1992. Available online: ps pdf.
  • John D. Ramsdell, William M. Farmer, Joshua D. Guttman, Leonard G. Monk, Vipin Swarup. "The VLISP PreScheme Front End". MITRE Corporation. September 1992. Available online: ps pdf.
  • John D. Ramsdell. "The Revised VLISP PreScheme Front End". MITRE Corporation. August 1993. Available online: ps pdf.
  • Dino P. Oliva and Mitchell Wand. "A Verifed Compiler for Pure PreScheme". MITRE Corporation. September 1991. Available online: ps pdf.
  • William M. Farmer and John D. Ramsdell. "A Verifed Compiler for Multithreaded PreScheme". MITRE Corporation. January 1996. Available online: ps pdf.
  • Joshua D. Guttman, John D. Ramsdell, Leonard G. Monk, William M. Farmer, Vipin Swarup. "The VLISP Byte-Code Compiler". MITRE Corporation. September 1992. Available online: ps pdf.
  • Dino P. Oliva and Mitchell Wand. "A Verifed Run-Time Structure for Pure PreScheme". MITRE Corporation. September 1992. Available online: ps pdf.
  • Vipin Swarup, William M. Farmer, Joshua D. Guttman, Leonard G. Monk, John D. Ramsdell. "VLISP Byte Code Interpreter". MITRE Corporation. September 1992. Available online: ps pdf.
  • William M. Farmer, Joshua D. Guttman, Leonard G. Monk, John D. Ramsdell, Vipin Swarup. "Faithfulness of the VLISP Operational Semantics". MITRE Corporation. September 1992. Available online: ps pdf.
  • Joshua D. Guttman, Leonard G. Monk, John D. Ramsdell, William M. Farmer, Vipin Swarup. "The VLISP Flattener". MITRE Corporation. September 1992. Available online: ps pdf.
  • Vipin Swarup, William M. Farmer, Joshua D. Guttman, Leonard G. Monk and John D. Ramsdell. "The VLISP Image Builder". MITRE Corporation. September 1992. Available online: ps pdf.
  • William M. Farmer, Joshua D. Guttman, Leonard G. Monk, John D. Ramsdell, Vipin Swarup. "The VLISP Linker". MITRE Corporation. September 1992. Available online: ps pdf.

Program Analysis, Inlining and other Optimizations

  • Andrew Keep and R. Kent Dybvig. "Enabling cross-library optimization and compile-time error checking in the presence of procedural macros". 2010 Workshop on Scheme and Functional Programming. August 2010. Available online: pdf.
  • Christopher Earl, Matthew Might and David Van Horn. "Pushdown Control-Flow Analysis of Higher-Order Programs". 2010 Workshop on Scheme and Functional Programming. August 2010. Available online: pdf.
  • Matthew Might and Tarun Prabhu. "Interprocedural Dependence Analysis of Higher-Order Programs via Stack Reachability". 2009 Workshop on Scheme and Functional Programming. August 2009. Available online: pdf.
  • Philippe Meunier, Robert Bruce Findler and Matthias Felleisen. "Modular Set-Based Analysis from Contracts". Principles of Programming Languages, POPL 2006. January 2006. Available online: pdf.
  • Ulrik Pagh Schultz. "Explicit and Implicit Aspects of Scope and Block Structure". Masters Thesis. University of Aarhus. June 1997. Available online: ps pdf.
  • Olivier Danvy and Ulrik Pagh Schultz. "Lambda-dropping: transforming recursive equations into programs with block structure". Partial Evaluation and Semantics-Based Program Manipulation (PEPM'97). June 1997. Available online: ACM Digital Library.
  • Olivier Danvy and Ulrik Pagh Schultz. "Lambda-Dropping: Transforming Recursive Equations into Programs with Block Structure ". University of Aarhus. RS-97-6. March 1997. Available online: ps pdf.
  • Olivier Danvy and Ulrik Pagh Schultz. "Lambda-Dropping: Transforming Recursive Equations into Programs with Block Structure". Theoretical Computer Science. Volume 248/1-2. November 2000. Available online: ps pdf.
  • Olivier Danvy and Ulrik Pagh Schultz. "Lambda-Dropping: Transforming Recursive Equations into Programs with Block Structure ". University of Aarhus. RS-99-27. September 1999. Available online: ps pdf.
  • Oscar Waddell, Dipanwita Sarkar and R. Kent Dybvig. "Robust and effective transformation of letrec". Workshop on Scheme and Functional Programming (2002). October 2002. Available online: pdf.
  • Mitchell Wand. "Continuation-Based Program Transformation Strategies". Journal of the ACM. 27. 1. January 1980. Available online: ACM Digital Library.
  • Williams Ludwell Harrison III. "The Interprocedural Analysis and Automatic Parallellization of Scheme Programs". Lisp and Symbolic Computation: An International Journal. 2. 3/4. October 1989. Available online: .
  • J. Michael Ashley and R. Kent Dybvig. "A Practical and Flexible Flow Analysis for Higher-Order Languages". ACM Transactions on Programming Languages and Systems. Vol. 20, Num. 4. July 1998. Available online: pdf.
  • Jeffrey Mark Siskind. "Flow-Directed Lightweight Closure Conversion". NEC Research Institute, Inc.. Technical Report 99-190R. December 1999. Available online: pdf.
  • Oscar Waddell and R. Kent Dybvig. "Fast and Effective Procedure Inlining". Proceedings of the Fourth International Symposium on Static Analysis (SAS '97). 1302. September 1997. Available online: ps.
  • Manuel Serrano. "Inline expansion: when and how?". Programming Language Implementation and Logic Programming, PLILP'97. September 1997. Available online: ps.
  • Manuel Serrano. "A Fresh Look to Inlining Decision". International Computer Symposium, ICS'95. November 1995. Available online: ps.
  • Manuel Serrano. "Control flow analysis: a functional languages compilation paradigm". Symposium on Applied Computing, SAC'95. February 1995. Available online: ps pdf.
  • J. Michael Ashley and Charles Consel. "Fixpoint Computation for Polyvariant Static Analyses of Higher-Order Applicative Programs". ACM Transactions on Programming Languages and Systems. 16(5). September 1994. Available online: pdf.
  • J. Michael Ashley. "A Practical and Flexible Flow Analysis for Higher-Order Languages". PhD. Thesis. Indiana University. 1996. Available online: pdf.
  • J. Michael Ashley. "A Practical and Flexible Flow Analysis for Higher-Order Languages". Conference Record of POPL'96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 1996. Available online: pdf.
  • J. Michael Ashley. "The Effectiveness of Flow Analysis for Inlining". Proceedings of the 1997 ACM International Conference on Functional Programming. Available online: pdf.
  • Dominique Boucher, Marc Feeley. "Abstract Compilation: a New Implementation Paradigm for Static Analysis". Compiler Construction Conference. April 1996. Available online: ps.
  • Dominique Boucher, Marc Feeley. "Un systeme pour l'optimisation globale de programmes d'ordre superieur par compilation abstraite separee". departement d'informatique et r.o., Universite de Montreal. Rapport technique 992. Septembre 1995. Available online: ps.
  • Cormac Flanagan and Matthias Felleisen. "Componential Set-Based Analysis". Proceedings of PLDI 97. 1996. Available online: ps.
  • Cormac Flanagan and Matthias Felleisen. "Componential Set-Based Analysis". Transactions on Programming Languages and Systems. 1999. Available online: ps.
  • Cormac Flanagan. "Effective Static Debugging via Componential Set-Based Analysis". PhD. Thesis. Rice University. Available online: ps.
  • Cormac Flanagan and Matthias Felleisen. "Modular and Polymorphic Set-Based Analysis: Theory and Practice". Rice University. TR 96-266. 1996. Available online: ps.
  • Cormac Flanagan and Matthias Felleisen. "Set-Based Analysis for Full Scheme and Its Use in Soft-Typing". Rice University. TR 95-254. 1995. Available online: ps.
  • Olin Shivers. "Control-flow analysis in Scheme". Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation. June 1988. Available online: ps pdf.
  • Olin Shivers. "Super-beta: Copy, constant, and lambda propagation in Scheme". CMU School of Computer Science. May 1990. Available online: ps pdf.
  • Olin Shivers. "Useless-variable elimination". Proceedings of the Workshop on Static Analysis of Equational, Functional and Logic Programs. April 1990. Available online: ps pdf.
  • Olin Shivers. "CPS data-flow analysis example". CMU School of Computer Science. May 1990. Available online: ps pdf.
  • Olin Shivers. "Control-Flow Analysis of Higher-Order Languages". PhD. Thesis. Carnegie Mellon University. May 1991. Available online: ps pdf.
  • Olin Shivers. "The semantics of Scheme control-flow analysis". Proceedings of the First ACM SIGPLAN and IFIP Symposium on Partial Evaluation and Semantics-Based Program Manipulation. June 1991. Available online: ps pdf.
  • Amr Sabry and Matthias Felleisen. "Is Continuation-Passing Useful for Data Flow Analysis?". Proceedings of PLDI 94. 1994. Available online: ps.
  • Andrew E. Ayers. "Abstract Analysis and Optimization of Scheme". PhD. Thesis. MIT. 1993.
  • Bjarne Steensgaard and Morten Marquard. "A Polyvariant Closure Analysis with Dynamic Widening". May 1994. Available online: ps.
  • Dominique Boucher. "Analyse et optimisation globales de modules compiles separement". PhD. Thesis. Universite de Montreal. December 1999. Available online: ps.
  • Suresh Jagannathan and Andrew K. Wright. "Polymorphic Splitting: An Effective Polyvariant Flow Analysis". ACM Transactions on Programming Languages and Systems. March 1998. Available online: ps.
  • Suresh Jagannathan and Andrew K. Wright. "Flow-Directed Inlining". ACM Symposium on Programming Language Design and Implementation (PLDI96). May 1996. Available online: ps.
  • Suresh Jagannathan and Andrew K. Wright. "Compiling with Flow Analysis". ACM Computing Surveys. June 1996. Available online: ps.
  • Suresh Jagannathan and Andrew K. Wright. "Effective Flow Analysis for Avoiding Runtime Checks". 2nd International Static Analysis Symposium. LNCS 983. September 1995. Available online: ps.
  • Suresh Jagannathan and Andrew K. Wright. "Flow-Directed Inlining". ACM Symposium on Programming Language Design and Implementation (PLDI96). May 1996. Available online: ps.
  • Peter A. Bigot and Saumya Debray. "Return Value Placement and Tail Call Optimization in High Level Languages". Journal of Logic Programming. January 1999. Available online: ps.
  • Saumya Debray, Robert Muth and Scott Watterson. "Link-time Improvement of Scheme Programs". International Conference on Compiler Construction (CC'99). March 1999. Available online: ps.

Type Systems and Soft Typing

  • Ryan Culpepper, Sam Tobin-Hochstadt and Matthew Flatt. "Advanced Macrology and the Implementation of Typed Scheme". 2007 Workshop on Scheme and Functional Programming. September 2007. Available online: pdf.
  • Danny Dube and Marc Feeley. "A Demand-Driven Adaptive Type Analysis". International Conference on Functional Programming (ICFP'2002). October 2002. Available online: ps.
  • Danny Dube. "Demand-driven type analysis for dynamically-typed functional languages". PhD. Thesis. Universite de Montreal. August 2002. Available online: ps.
  • Andrew K. Wright and Robert Cartwright. "A Practical Soft Type System for Scheme". Transactions on Programming Languages and Systems. 1997. Available online: ps.
  • Cormac Flanagan and Matthias Felleisen. "A New Way of Debugging LISP Programs". Proceedings of LUGM 98. 1998. Available online: ps.
  • Andrew K. Wright. "Practical Soft Typing". PhD. Thesis. Rice University. Available online: ps.
  • Mike Fagan. "Soft Typing: An Approach to Type Checking for Dynamically Typed Languages". PhD. Thesis. Rice University. Available online: ps.
  • Robert Cartwright and Matthias Felleisen. "Program Verification through Soft Typing". Computing Surveys. 1996. Available online: ps.
  • Cormac Flanagan, Matthew Flatt, Shriram Krishnamurthi, Stephanie Weirich and Matthias Felleisen. "Catching Bugs in the Web of Program Invariants". Proceedings of PLDI 96. 1996. Available online: ps.
  • Andrew K. Wright. "Simple Imperative Polymorphism". LISP and Symbolic Computation. 1995. Available online: ps.
  • Andrew K. Wright and Matthias Felleisen. "A Syntactic Approach to Type Soundness". Information and Computation. 1994. Available online: ps.
  • Andrew K. Wright and Robert Cartwright. "A Practical Soft Type System for Scheme". Proceedings of LFP 94. 1994. Available online: ps.
  • Andrew K. Wright and Robert Cartwright. "A Practical Soft Type System for Scheme". Rice University. TR 93-218. 1993. Available online: ps.
  • Robert Cartwright and Mike Fagan. "Soft Typing". Proceedings of PLDI 91. 1991. Available online: ps.
  • Olin Shivers. "Data-flow analysis and type recovery in Scheme". CMU School of Computer Science. Technical Report CMU-CS-90-115. March 1990. Available online: ps pdf.
  • Danny Dube, Marc Feeley. "Demand-Driven Type Analysis: an Introduction". 2nd Workshop on Scheme and Functional Programming. September 2001. Available online: ps pdf.
  • Philippe Meunier, Robert Bruce Findler, Paul A. Steckler, Mitchell Wand. "Selectors Make Set-Based Analysis Too Hard". 2nd Workshop on Scheme and Functional Programming. September 2001. Available online: ps pdf.
  • Manfred Widera. "An Algorithm for Checking the Disjointness of Types". 2nd Workshop on Scheme and Functional Programming. September 2001. Available online: ps pdf.
  • Manfred Widera. "A Sketch of Complete Type Inference for Functional Programming". International Workshop on Functional and (Constraint) Logic Programming (WLFP 2001). September 2001. Available online: ps pdf.
  • Steven L. Jenkins and Gary T. Leavens. "Ploymorphic Type-Checking in Scheme". Journal of Computer Languages. Vol. 22. Num. 4. 1996.
  • W. F. Wong. "Optimizing Floating Point Operations in Scheme". Journal of Computer Languages. Vol. 25. 1999.
  • Mitchell Wand. "Finding the Source of Type Errors". Conference Record of the Thirteenth Annual Symposium on Principles of Programming Languages. 1986.
  • Fritz Henglein. "Global Tagging Optimization by Type Inference". Proceedings of the 1992 ACM Conference on Lisp and Functional Programming. June 1992. Available online: ACM Digital Library.
  • Fritz Henglein and Jakob Rehof. "Safe polymorphic type inference for a Dynamically Typed Language: Translating Scheme to ML". ACM Conference on Functional Programming Languages and Computer Architecture (FPCA'95). 1995. Available online: ps pdf.

Code Generation

  • Robert G. Burger, Oscar Waddell and R. Kent Dybvig. "Register Allocation Using Lazy Saves, Eager Restores, and Greedy Shuffling". ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation. June 1995. Available online: ps.
  • Marc Feeley, Guy Lapalme. "Closure Generation Based on Viewing LAMBDA As EPSILON Plus COMPILE". Journal of Computer Languages. Vol. 17, No. 4. 1992. Available online: ps.
  • R. Kent Dybvig, Robert Hieb and Tom Butler. "Destination-Driven Code Generation". Indiana University Computer Science Department. Technical Report #302. February 1990. Available online: ps.
  • Marc Feeley, Guy Lapalme. "Using Closures for Code Generation". Journal of Computer Languages. Vol. 12, No. 1. 1987. Available online: ps.
  • Mario Latendresse. "Automatic generation of compact programs and virtual machines for Scheme". Scheme and Functional Programming 2000. September 2000. Available online: ps pdf.
  • Mario Latendresse. "Generation de machines virtuelles pour l'execution de programmes compresses". PhD. Thesis. Universite de Montreal. April 2000. Available online: ps.

Garbage Collection and Memory Management

  • William D Clinger and Felix S. Klock II. "Scalable Garbage Collection with Guaranteed MMU". 2009 Workshop on Scheme and Functional Programming. August 2009. Available online: pdf.
  • Adam Wick and Matthew Flatt. "Memory Accounting without Partitions". ISMM 2004. 2004. Available online: pdf.
  • Stephen Paul Carl. "A Framework for Memory-Management Experimentation". 2004 Scheme Workshop. September 2004. Available online: ps pdf.
  • Lars Thomas Hansen and William D. Clinger. "An Experimental Study of Renewal-Older-First Garbage Collection". International Conference on Functional Programming (ICFP'2002). October 2002. Available online: pdf.
  • Adam Wick, Matthew Flatt and Wilson Hsieh. "Reachability-based memory accounting". Workshop on Scheme and Functional Programming (2002). October 2002. Available online: pdf.
  • Richard A. Kelsey. "Tail-Recursive Stack Disciplines for an Interpreter". Available online: ps.
  • Julia L. Lawall and Daniel P. Friedman. "Toward Leakage Containment". Computer Science Department, Indiana University. February 1992. Available online: ps.
  • James S. Miller and Guillermo J. Rozas. "Garbage Collection is Fast, But a Stack is Faster". MIT AI Lab. AIM-1462. March 1994. Available online: ps pdf.
  • R. Kent Dybvig, David Eby and Carl Bruggeman. "Don't Stop the BiBOP: Flexible and Efficient Storage Management for Dynamically-Typed Languages". Indiana University. technical report #400. March 1994. Available online: ps.
  • R. Kent Dybvig, David Eby and Carl Bruggeman. "Guardians in a Generation-based Collector". ACM SIGPLAN 1993 Conference on Programming Language Design and Implementation. June 1993. Available online: ps.
  • Martin Larose, Marc Feeley. "A Compacting Incremental Collector and its Performance in a Production Quality Compiler". Proceedings of the 1998 International Symposium on Memory Management. October 1998. Available online: ps.
  • Manuel Serrano, Marc Feeley. "Storage Use Analysis and its Applications". ACM SIGPLAN International Conference on Functional Programming. May 1996. Available online: ps.
  • Danny Dube, Marc Feeley, Manuel Serrano. "Un GC temps reel semi-compactant". Journ ees Francophones des Langages Applicatifs. January 1996. Available online: ps.
  • Manuel Serrano and Hans J. Boehm. "Understanding Memory allocations of Scheme Programs". International Conference on Functional Programming, ICFP'00. September 2000. Available online: ps.
  • David Gudeman. "Representing Type Information in Dynamically Typed Languages". University of Arizona. TR 93-27. October 1993. Available online: ps.
  • Paul R. Wilson. "Uniprocessor Garbage Collection Techniques". Available online: ps.
  • Paul R. Wilson, Michael S. Lam and Thomas G. Moher. "Caching Considerations for Generational Garbage Collection". 1992 ACM Symposium on Lisp and Functional Programming. June 1992. Available online: ps.
  • Olivier Danvy. "Memory Allocation and Higher-Order Functions". Interpreters and Interpretive Techniques (SIGPLAN'87). June 1987.
  • Guy Lewis Steele, Jr.. "Macaroni is Better than Spaghetti". Proceedings of the Symposium on Artificial Intelligence and Programming Languages. August 1977. Available online: ACM Digital Library.

Miscellaneous Implementation Topics

  • Felix S. Klock II. "The layers of Larceny's foreign function interface". 2008 Workshop on Scheme and Functional Programming. September 2008. Available online: pdf.
  • Marcus Crestani. "Foreign-Function Interfaces for Garbage-Collected Programming Languages". 2008 Workshop on Scheme and Functional Programming. September 2008. Available online: pdf.
  • Andrew W. Keep and R. Kent Dybvig. "Ftypes: Structured foreign types". 2011 Workshop on Scheme and Functional Programming. October 2011. Available online: pdf.
  • Nguyen-Minh Bui. "Toward abstract profiling". 2007 Workshop on Scheme and Functional Programming. September 2007. Available online: pdf.
  • Guillaume Marceau, Gregory H. Cooper, Jonathan P. Spiro, Shriram Krishnamurthi and Steven P. Reiss. "The Design and Implementation of a Dataflow Language for Scriptable Debugging". Automated Software Engineering Journal, 2006. 2006. Available online: downloadable paper.
  • Eli Barzilay and Dmitry Orlovsky. "Foreign Interface for PLT Scheme". 2004 Scheme Workshop. September 2004. Available online: ps pdf.
  • Guillaume Marceau and Gregory H. Cooper and Shriram Krishnamurthi and Steven P. Reiss. "A Dataflow Language for Scriptable Debugging". IEEE International Symposium on Automated Software Engineering (ASE2004). September 2004. Available online: downloadable paper.
  • Damien Ciabrini. "Debugging Scheme Fair Threads". 2004 Scheme Workshop. September 2004. Available online: ps pdf.
  • Damien Ciabrini and Manuel Serrano. "Bugloo: A Source Level Debugger for Scheme Programs Compiled into JVM Bytecode". 3th International Lisp Conference. October 2003. Available online: pdf.
  • Marc Feeley and Danny Dube. "PICBIT: A Scheme System for the PIC Microcontroller". Scheme Workshop 2003. November 2003. Available online: ps pdf.
  • John Clements and Matthias Felleisen. "A Tail-Recursive Semantics for Stack Inspections". European Symposium on Programming (ESOP'2003). April 2003. Available online: ps pdf.
  • Danny Dube. "BIT: A very compact Scheme system for embedded applications". Scheme and Functional Programming 2000. September 2000. Available online: ps pdf.
  • Dominique Boucher. "GOld: a link-time optimizer for Scheme". Scheme and Functional Programming 2000. September 2000. Available online: ps pdf.
  • Fred Bayer. "LispMe: An Implementation of Scheme for the PalmPilot". 2nd Workshop on Scheme and Functional Programming. September 2001. Available online: ps pdf.
  • Lars Thomas Hansen. "The Impact of Programming Style on the Performance of Scheme Programs". Masters Thesis. University of Oregon. August 1992. Available online: ps.
  • Pieter H. Hartel, Marc Feeley, Martin Alt, Lennart Augustsson, Peter Baumann, Marcel Beemster, Emmanuel Chailloux, Christine H. Flood, Wolfgang Grieskamp, John H. G. Van Groningen, Kevin Hammond, Bogumil Hausman, Melody Y. Ivory, Richard E. Jones, Jasper Kamperman, Peter Lee, Xavier Leroy, Rafael D. Lins, Sandra Loosemore, Niklas Rojemo, Manuel Serrano, Jean-Pierre Talpin, Jon Thackray, Stephen Thomas, Pum Walters, Pierre Weis, Peter Wentworth. "Benchmarking Implementations of Functional Languages with ``Pseudoknot'' a Float-Intensive Benchmark". Journal of Functional Programming. Vol. 6, No. 4. 1996. Available online: ps.
  • Pieter H. Hartel, Marc Feeley, Martin Alt, Lennart Augustsson, Peter Baumann, Marcel Beemster, Emmanuel Chailloux, Christine H. Flood, Wolfgang Grieskamp, John H. G. Van Groningen, Kevin Hammond, Bogumil Hausman, Melody Y. Ivory, Richard E. Jones, Jasper Kamperman, Peter Lee, Xavier Leroy, Rafael D. Lins, Sandra Loosemore, Niklas Rojemo, Manuel Serrano, Jean-Pierre Talpin, Jon Thackray, Stephen Thomas, Pum Walters, Pierre Weis, Peter Wentworth. "Benchmarking Implementations of Functional Languages with ``Pseudoknot'' a Float-Intensive Benchmark". Journal of Functional Programming. Vol. 6, No. 4. 1996. Available online: ps.
  • Matthias Felleisen and Paul A. Steckler. "Implementing a Static Debugger for a First-Order Functional Programming Language". Rice University. TR 00-359. 2000. Available online: ps.
  • John Clements, Matthew Flatt, Matthias Felleisen. "Modeling an Algebraic Stepper". Proceedings of ESOP 2001. 2001. Available online: ps pdf.
  • John Clements and Matthias Felleisen. "A Tail-Recursive Machine with Stack Inspection". Transactions on Programming Languages and Systems. 2004. Available online: pdf.
  • Robert G. Burger. "Efficient Compilation and Profile-Driven Dynamic Recompilation in Scheme". PhD. Thesis. Indiana University Computer Science Department. March 1997. Available online: ps.
  • Robert G. Burger and R. Kent Dybvig. "An infrastructure for profile-driven dynamic recompilation". IEEE Computer Society 1998 International Conference on Computer Languages. May 1998. Available online: ps.
  • Robert G. Burger and R. Kent Dybvig. "Printing Floating Point Numbers Quickly and Accurately". ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation. June 1996. Available online: ps.
  • William D. Clinger. "How to read floating point numbers accurately". Proceedings of the conference on Programming language design and implementation. June 1990. Available online: ACM Digital Library.
  • Guy Lewis Steele and Jon L. White. "How to print floating-point numbers accurately". Proceedings of the conference on Programming language design and implementation. June 1990. Available online: ACM Digital Library.
  • Christian Queinnec. "Validation Suite Generation". Revue Bigre+Globule. (65). July 1989. Available online: ps.