Changes between Version 142 and Version 143 of Commentary


Ignore:
Timestamp:
Jul 9, 2011 12:21:28 AM (3 years ago)
Author:
dterei
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary

    v142 v143  
    77== Editing the Commentary == 
    88 
    9 Please feel free to add material to the rest of the wiki: don't worry too much about accuracy (in due course someone will edit your contribution).   
    10  
    11 Please feel free to add material to the commentary after you've given some thought to where in the commentary it belongs.  The old commentary read like a single coherent narrative, made sure to define terms before using them, and introduced concepts in the order which made them easiest to understand.  Please do try to preserve those properties in this wiki commentary.  If you're unsure or in a hurry, consider creating a wiki page outside the commentary and linking to it from the commentary (or the "contributed documentation" section below). 
     9Please feel free to add material to the rest of the wiki: don't worry too much about accuracy (in due course someone will edit your contribution). When unsure though please indicate this in the wiki and its best to ask on the GHC mailing list so you can correct the commentary. Please give some though to where in the commentary your contribution belongs. GHC has an older commentary (non wiki based) that read like a single coherent narrative, made sure to define terms before using them, and introduced concepts in the order which made them easiest to understand.  Please do try to preserve those properties in this wiki commentary. If you're unsure or in a hurry, consider creating a wiki page outside the commentary and linking to it from the commentary (or the "contributed documentation" section below). 
    1210 
    1311Try to link to source files as much as possible by using this macro: {{{[[GhcFile(compiler/Makefile)]]}}}. Also try to add appropriate links to other parts of the commentary. 
     
    4543However sometimes you may want to add new material that doesn't quite fit into the existing structure.  Or perhaps your pages are about work-in-progress, status reports and suchlike, which don't belong in the Commentary per se.  Regardless, you can add your new material here. 
    4644 
    47  * The Compiler 
    48    * [wiki:Commentary/Compiler/SeqMagic Magic to do with `seq` and friends] 
    49    * [wiki:MemcpyOptimizations memcpy/memmove/memset optimizations] 
     45 * General Notes on the GHC compiler 
    5046   * Edward Yang's blog post about [http://blog.ezyang.com/2011/04/tracing-the-compilation-of-hello-factorial/ the entire complilation pipeline for `factorial`] 
    51    * [wiki:NewPlugins Compiler plug-ins] 
    52    * [wiki:TypeNats Type level naturals] 
    53    * [wiki:KindFact Proposal to add a kind for facts, e.g. class constraints] 
    54    * [wiki:DefaultSuperclassInstances Proposal to allow classes to give default implementations for their superclasses] 
    55    * [wiki:Commentary/Compiler/GenericDeriving The new deriving mechanism] 
    56    * [wiki:Commentary/Compiler/TemplateHaskell Notes about Template Haskell] 
    57    * [wiki:Commentary/Compiler/NewCodeGen Notes about the new code generator] 
    58    * [wiki:TypeFunctions Type families/type functions]: Notes concerning the implementation of type families, associated types, and equality constraints as well as the extension of the type checker with a contraint solver for equality constraints. 
    59    * [wiki:IntermediateTypes Intermediate Types]: Notes about the type system of GHC's new intermediate language (in the HEAD since ICFP'06) 
    60    * [wiki:DataParallel DPH]: Notes about the implementation of Data Parallel Haskell 
    61    * [wiki:RewriteRules Rewrite Rules]: Notes about the implementation of RULEs in GHC 
    62    * [wiki:BackEndNotes Backend Ideas]: Some ideas and notes about the back end. 
    63    * [wiki:Commentary/CmmExceptions Cmm: Implementing Exception Handling]: Implementing exception handling for primitive operations in Cmm 
    64    * [wiki:Commentary/CmmKinds Cmm: Using Kinds to implement calling conventions]: Pointers to explanations of what a {{{CmmKind}}} is and why you might find one useful. 
    65    * [wiki:GhciDebugger GHCi Debugger]: Some notes about the implementation of the GHCi debugger. Probably uninteresting unless you want to work on the debugger. 
    66    * [wiki:NewGhciDebugger New GHCi Debugger]: The new GHCi debugger. 
    6747   * [wiki:AddingNewPrimitiveOperations New Prim Ops]: How to add new primitive operations to GHC Haskell. 
    6848   * [wiki:ReplacingGMPNotes Replacing GMP]: Notes from an effort to replace GMP with another Bignum library. 
    6949   * [wiki:ExternalCore External Core]: Describes the process of bringing External Core up to speed. Once finished, this will simply describe what External Core is, and how it works.  
     50   * [http://sourceforge.net/apps/mediawiki/developers/index.php?title=ScrapYourBoilerplate The Scrap your boilerplate homepage]. 
     51 
     52 * Notes on implemented GHC features: 
     53   * [wiki:Commentary/Compiler/GenericDeriving The new deriving mechanism] 
     54   * [wiki:Commentary/Compiler/TemplateHaskell Notes about Template Haskell] 
     55   * [wiki:RewriteRules Rewrite Rules]: Notes about the implementation of RULEs in GHC 
     56   * [wiki:TypeFunctions Type families/type functions]: Notes concerning the implementation of type families, associated types, and equality constraints as well as the extension of the type checker with a contraint solver for equality constraints. 
     57   * [wiki:Commentary/Compiler/SeqMagic Magic to do with `seq` and friends] 
     58   * [wiki:NewPlugins Compiler plug-ins] 
     59   * [wiki:MemcpyOptimizations memcpy/memmove/memset optimizations]   
     60   * [wiki:BackEndNotes Backend Ideas]: Some ideas and notes about the back end. 
     61   * [wiki:Commentary/Compiler/NewCodeGen Notes about the new code generator] 
     62   * [wiki:MonadComprehensions Monad Comprehensions]: Translation rules and some implementation details 
     63   * [wiki:IntermediateTypes Intermediate Types]: Notes about the type system of GHC's new intermediate language (in the HEAD since ICFP'06) 
     64   * [wiki:DataParallel DPH]: Notes about the implementation of Data Parallel Haskell 
    7065   * [wiki:HaddockComments Haddock]: Some notes about how the Haddock comment support is implemented. 
     66 
     67 * Notes on proposed or in progress (but out of tree) GHC compiler features: 
     68   * [wiki:TypeNats Type level naturals] 
     69   * [wiki:KindFact Proposal to add a kind for facts, e.g. class constraints] 
     70   * [wiki:PolymorphicDynamic Polymorphic Dynamic]: Notes on adding ad-hoc polymorphic dynamic types 
     71   * [wiki:DefaultSuperclassInstances Proposal to allow classes to give default implementations for their superclasses] 
     72   * [wiki:Commentary/CmmExceptions Cmm: Implementing Exception Handling]: Implementing exception handling for primitive operations in Cmm 
     73   * [wiki:Commentary/CmmKinds Cmm: Using Kinds to implement calling conventions]: Pointers to explanations of what a {{{CmmKind}}} is and why you might find one useful. 
     74   * [wiki:SIMD SIMD]: Notes on adding SIMD instructions and primOps to GHC 
    7175   * [wiki:ExplicitCallStack Explicit Call Stack]: Notes about maintaining an explicit call stack, to support error attribution and profiling. 
    7276   * [wiki:SQLLikeComprehensions SQL-Like Comprehensions]: Notes on the ongoing implementation of SPJs "Comprehensive Comprehensions". 
    73    * [wiki:SIMD SIMD]: Notes on adding SIMD instructions and primOps to GHC 
    74    * [http://sourceforge.net/apps/mediawiki/developers/index.php?title=ScrapYourBoilerplate Scrap your boilerplate page] written by Ralf Lammel. 
    75    * [wiki:Commentary/Abbreviations GHC Source Abbreviations]: Abbreviations used in the GHC code 
    76    * [wiki:SafeHaskell Safe Haskell]: The design of an extension to Haskell around 'Safe' code. 
    77    * [wiki:MonadComprehensions Monad Comprehensions]: Translation rules and some implementation details 
    78    * [wiki:PolymorphicDynamic Polymorphic Dynamic]: Notes on adding ad-hoc polymorphic dynamic types 
     77 
     78 * GHCi Debuger 
     79   * [wiki:GhciDebugger GHCi Debugger]: Some notes about the implementation of the GHCi debugger. Probably uninteresting unless you want to work on the debugger. 
     80   * [wiki:NewGhciDebugger New GHCi Debugger]: The new GHCi debugger. 
    7981 
    8082 * The Runtime System 
     
    8991 
    9092 * [wiki:GpHEden Parallel Haskell Variants]: All aspects of the GpH and Eden parallel variants of GHC. (''work in progress'') 
     93  
     94== Old Documentation == 
    9195 
    92  * [wiki:AboutVideos Hackathon presentations] (video) 
    93   
    94 == Old but useful == 
    95  
    96 Finally, here are some generally-useful, but now somewhat-out-of-date resources: 
     96Here are some useful, but somewhat-out-of-date resources: 
    9797 * [http://darcs.haskell.org/ghc/docs/comm/ The old GHC Commentary]: Information on the internals of GHC, in various states of up-to-dateness.  We are keen to move this stuff out of its current location and onto this Wiki.  If anyone is willing to help do that, even for just a part in which you are interested, we would be delighted.  There is a [wiki:Commentary/MigratingOldCommentary page] which tracks the progress of migrating information from the old commentary to this wiki. 
    9898 * [wiki:GhcPapers GHC Papers]: Papers and pointers to other documents that relate to the inner workings of GHC.