# [Minor] [minor commit] r682 - trunk/doc

jimb at red-bean.com jimb at red-bean.com
Tue Mar 13 16:30:12 CDT 2007

Author: jimb
Date: Tue Mar 13 16:30:11 2007
New Revision: 682

Log:
Add Mark Reinhold's thesis and Sussman and Steele's "Lambda" papers to

Modified:
trunk/doc/design

Modified: trunk/doc/design
==============================================================================
--- trunk/doc/design	(original)
+++ trunk/doc/design	Tue Mar 13 16:30:11 2007
@@ -652,32 +652,29 @@

-Olin Shivers.  Control-Flow Analysis of Higher-Order Languages.
-Ph.D. dissertation, Carnegie Mellon University, May 1991.
-Technical Report CMU-CS-91-145, School of Computer Science.
-ftp://cs.cmu.edu/afs%2Fcs.cmu.edu%2Fuser%2Fshivers%2Flib%2Fpapers/diss.ps.Z

-    This one is really essential.  Lambda is so powerful and hairy you
-    can go crazy trying to think of accurate ways to analyze code
-    built from it, but this thesis is a completely legible explanation
-    of an open-ended analysis technique that is clearly correct,
-    because it is simply a conservative approximation of actually
-    interpreting the code.  If you can write an interpreter and be
-    confident it's correct, then you can write a flow analyzer.  Handy
-    caveats included.  It was the inspiration for my new prologue
-    analysis framework in GDB.
-
-    I think a lot of different analyses can be subsumed by this one.  I
-    don't see why we really need to use CPS.
-
-Flatt, M.  Composable and compilable macros: You want it when?
-In Proceedings of ACM SIGPLAN International Conference on Functional
-Programming, 2002.  http://citeseer.nj.nec.com/flatt02composable.html
-
-    This paper is the first one I've seen that really nails why
-    separate compilation can be kind of hairy for languages based on
-    powerful macro systems.  I'm not sure we want to use this macro /
-    module system, but we've got to address the points it raises.
+Mark Reinhold.  Cache Performance of Garbage-Collected Programming Languages.
+Ph.D. dissertation, MIT, September 1993.  MIT LCS Technical Report 581.
+http://www.lcs.mit.edu/publications/specpub.php?id=1140
+
+Guy Lewis Steele Jr. and Gerald Jay Sussman.  Lambda the Ultimate Imperative.
+MIT AI Lab AI Memo 353.  March 1976.
+ftp://publications.ai.mit.edu/ai-publications/0-499/AIM-353.ps
+
+All the original "Lambda Papers":
+
+Richard Kelsey.  A Correspondence between Continuation Passing Style and Static Single Assignment Form.
+http://citeseer.ist.psu.edu/kelsey95correspondence.html
+
+    Mark Reinhold was working with Kelsey at NEC when he wrote this
+    paper, and said that the correspondence was so close that
+    SSA-based optimizations should just translate right over to (the
+    right sort of) CPS.  I've read this paper before, but haven't
+    really grasped it, partially because I don't really appreciate
+    SSA.  So perhaps some reading up on SSA is a prerequisite for
+    understanding this.

Andre van Tonder.  SRFI-72: Hygienic macros.
http://srfi.schemers.org/srfi-72/srfi-72.html
@@ -726,10 +723,6 @@

I think.

-Olin Shivers' history of T has pointers to a bunch of seminal Scheme
-papers and dissertations:
-http://www.paulgraham.com/thist.html
-
David F. Bacon, Perry Cheng, and V.T. Rajan.  A Unified Theory of
Garbage Collection.
http://www.research.ibm.com/people/d/dfb/publications.html
@@ -742,21 +735,6 @@
opinions about finalization and destruction.  I could really use a
unified theory of garbage collection.

-Ulrich Drepper.  How to Write Shared Libraries.
-2002-11-3, based on a tutorial given at UKUUG 2002 Conference in
-Bristol.  http://people.redhat.com/drepper/dsohowto.pdf
-Available from http://people.redhat.com/drepper, which also has slides.
-
-Olin Shivers, James W. Clark and Roland McGrath.
-Atomic heap transactions and fine-grain interrupts.
-In \emph{Proceedings of the 1999 ACM International Conference
-    on Functional Programming (ICFP)},
-    September, 1999, Paris, France.
-http://www.ai.mit.edu/~shivers/citations.html#heap
-
-Amer Diwan, Eliot Moss, and Richard Hudson.
-Compiler support for garbage collection in a statically typed language.
-
Manual Serrano and Marc Feeley.
Storage Use Analysis and its Applications
http://www-sop.inria.fr/mimosa/Manuel.Serrano/publi/sf-icfp96.ps.gz
@@ -774,13 +752,64 @@
too...

- Mike Ashley's flow analysis paper
+
+- _Engineering a Simple, Efficient Code Generator Generator_, Fraser,
+  Hanson and Proebsting
+
+
+
+Olin Shivers.  Control-Flow Analysis of Higher-Order Languages.
+Ph.D. dissertation, Carnegie Mellon University, May 1991.
+Technical Report CMU-CS-91-145, School of Computer Science.
+ftp://cs.cmu.edu/afs%2Fcs.cmu.edu%2Fuser%2Fshivers%2Flib%2Fpapers/diss.ps.Z
+
+    This one is really essential.  Lambda is so powerful and hairy you
+    can go crazy trying to think of accurate ways to analyze code
+    built from it, but this thesis is a completely legible explanation
+    of an open-ended analysis technique that is clearly correct,
+    because it is simply a conservative approximation of actually
+    interpreting the code.  If you can write an interpreter and be
+    confident it's correct, then you can write a flow analyzer.  Handy
+    caveats included.  It was the inspiration for my new prologue
+    analysis framework in GDB.
+
+    I think a lot of different analyses can be subsumed by this one.  I
+    don't see why we really need to use CPS.
+
+Flatt, M.  Composable and compilable macros: You want it when?
+In Proceedings of ACM SIGPLAN International Conference on Functional
+Programming, 2002.  http://citeseer.nj.nec.com/flatt02composable.html
+
+    This paper is the first one I've seen that really nails why
+    separate compilation can be kind of hairy for languages based on
+    powerful macro systems.  I'm not sure we want to use this macro /
+    module system, but we've got to address the points it raises.
+
+Olin Shivers' history of T has pointers to a bunch of seminal Scheme
+papers and dissertations:
+http://www.paulgraham.com/thist.html
+
+Ulrich Drepper.  How to Write Shared Libraries.
+2002-11-3, based on a tutorial given at UKUUG 2002 Conference in
+Bristol.  http://people.redhat.com/drepper/dsohowto.pdf
+Available from http://people.redhat.com/drepper, which also has slides.
+
+Olin Shivers, James W. Clark and Roland McGrath.
+Atomic heap transactions and fine-grain interrupts.
+In \emph{Proceedings of the 1999 ACM International Conference
+    on Functional Programming (ICFP)},
+    September, 1999, Paris, France.
+http://www.ai.mit.edu/~shivers/citations.html#heap
+
+Amer Diwan, Eliot Moss, and Richard Hudson.
+Compiler support for garbage collection in a statically typed language.
+
- Soft typing
- PLT's successor to soft typing
- SysV ABI (for ELF format)
- Intel manuals
- JNI api
-- _Engineering a Simple, Efficient Code Generator Generator_, Fraser,
-  Hanson and Proebsting
- Mono JIT

* Resources