Changes between Version 11 and Version 12 of GhcPapers


Ignore:
Timestamp:
Aug 11, 2009 12:19:08 PM (5 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GhcPapers

    v11 v12  
    1515 * [http://www.haskell.org/ghc/docs/papers/hep.ps.gz Haskell Execution Platform] design document.  This document describes the design for an integrated compiler/interpreter API for executing Haskell programs, which forms the heart of the combined Hugs/GHC system. 
    1616 
    17 == The innards of the complier == 
    18  
    19  * [http://research.microsoft.com/en-us/um/people/simonpj/papers/spineless-tagless-gmachine.ps.gz#26pub=34  The Spineless Tagless G-Machine].  This paper describes the execution model used by GHC.  It is most relevant to GHC up to version 3.xx---in version 4 we made some changes which are described in the [http://www.haskell.org/ghc/docs/papers/run-time-system.ps.gz RTS document]. 
    20  
    21  * [2002] [http://www.research.microsoft.com/~simonpj/Papers/inlining/index.htm Secrets of the GHC inliner] is still highly relevant; it is still a more-or-less accurate description of GHC's "simplifier". 
    22  
    23  * [1993] [http://www.haskell.org/ghc/docs/papers/grasp-jfit.ps.gz The Glasgow Haskell Compiler - a Technical Overview] - from 1992, not entirely relevant any more. 
    24  
    25  * [http://www.haskell.org/ghc/docs/papers/extendGHC.ps.gz Adding an Optimisation Pass to the Glasgow Haskell Compiler] (Olaf Chitil).  Somewhat out of date. 
    26  
    27 == Types and typechecking ==  
    28  
    29  *  [1994] GHC's typechecker implementation is described in the paper [http://research.microsoft.com/~simonpj/Papers/classhask.ps.gz  Type classes in Haskell], CV Hall, K Hammond, SL Peyton Jones, and PL Wadler, European Symposium On Programming, LNCS 788, Springer Verlag, pp.  241-256, April 1994. 
    30  
    31  * [1998] The UsageSP analysis is described in Keith Wansbrough and Simon Peyton Jones, [http://www.cl.cam.ac.uk/users/kw217/research/phd/usptr-10pt.ps.gz Once Upon a Polymorphic Type], Technical Report TR-1998-19, Department of Computing Science, University of Glasgow, 1998.  Conference version [http://www.cl.cam.ac.uk/users/kw217/research/phd/popl99-usage.ps.gz Once Upon a Polymorphic Type], in The Twenty-sixth ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 20-22, 1999, San Antonio, Texas.  This work isn't in GHC. 
    32  
    33 == Runtime system == 
    34  
    35  * [http://www.haskell.org/ghc/docs/papers/run-time-system.ps.gz Run-time System document].  This document (is supposed to) describe the new run-time system in GHC 4.xx.  Be warned that the implementation and this document are evolving in parallel, so they might not be quite in sync. 
    36  
    37  * [2000] [http://research.microsoft.com/~simonpj/Papers/inc-gc.htm Non-stop Haskell] the workings of an incremental garbage collecton.  Not included in GHC, so far. 
    38  
    39  * [1999] [http://www.haskell.org/ghc/docs/papers/new-rts.ps.gz The New GHC/Hugs Runtime System]---a summary of the [http://www.haskell.org/ghc/docs/papers/run-time-system.ps.gz RTS document]. 
    40  
    4117== Language design ==  
    4218 
     
    5127 * [1991] [http://www.haskell.org/ghc/docs/papers/unboxed-values.ps.gz Unboxed Values as First-Class Citizens].   Fully implemented. 
    5228 
     29== Types and typechecking ==  
     30 
     31 *  [1994] GHC's typechecker implementation is described in the paper [http://research.microsoft.com/~simonpj/Papers/classhask.ps.gz  Type classes in Haskell], CV Hall, K Hammond, SL Peyton Jones, and PL Wadler, European Symposium On Programming, LNCS 788, Springer Verlag, pp.  241-256, April 1994. 
     32 
     33 * [1998] The UsageSP analysis is described in Keith Wansbrough and Simon Peyton Jones, [http://www.cl.cam.ac.uk/users/kw217/research/phd/usptr-10pt.ps.gz Once Upon a Polymorphic Type], Technical Report TR-1998-19, Department of Computing Science, University of Glasgow, 1998.  Conference version [http://www.cl.cam.ac.uk/users/kw217/research/phd/popl99-usage.ps.gz Once Upon a Polymorphic Type], in The Twenty-sixth ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 20-22, 1999, San Antonio, Texas.  This work isn't in GHC. 
     34 
     35== The innards of the complier == 
     36 
     37 * [http://research.microsoft.com/en-us/um/people/simonpj/papers/spineless-tagless-gmachine.ps.gz#26pub=34  The Spineless Tagless G-Machine].  This paper describes the execution model used by GHC.  It is most relevant to GHC up to version 3.xx---in version 4 we made some changes which are described in the [http://www.haskell.org/ghc/docs/papers/run-time-system.ps.gz RTS document]. 
     38 
     39 * [2002] [http://www.research.microsoft.com/~simonpj/Papers/inlining/index.htm Secrets of the GHC inliner] is still highly relevant; it is still a more-or-less accurate description of GHC's "simplifier". 
     40 
     41 * [1993] [http://www.haskell.org/ghc/docs/papers/grasp-jfit.ps.gz The Glasgow Haskell Compiler - a Technical Overview] - from 1992, not entirely relevant any more. 
     42 
     43 * [http://www.haskell.org/ghc/docs/papers/extendGHC.ps.gz Adding an Optimisation Pass to the Glasgow Haskell Compiler] (Olaf Chitil).  Somewhat out of date. 
     44 
     45== Runtime system == 
     46 
     47 * [http://www.haskell.org/ghc/docs/papers/run-time-system.ps.gz Run-time System document].  This document (is supposed to) describe the new run-time system in GHC 4.xx.  Be warned that the implementation and this document are evolving in parallel, so they might not be quite in sync. 
     48 
     49 * [2000] [http://research.microsoft.com/~simonpj/Papers/inc-gc.htm Non-stop Haskell] the workings of an incremental garbage collecton.  Not included in GHC, so far. 
     50 
     51 * [1999] [http://www.haskell.org/ghc/docs/papers/new-rts.ps.gz The New GHC/Hugs Runtime System]---a summary of the [http://www.haskell.org/ghc/docs/papers/run-time-system.ps.gz RTS document]. 
    5352 
    5453== The awkward squad: I/O, concurrency, exceptions, and foreign functions ==