Changes between Version 40 and Version 41 of Commentary/Compiler/GenericDeriving


Ignore:
Timestamp:
Dec 13, 2011 2:16:48 PM (2 years ago)
Author:
dreixel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/GenericDeriving

    v40 v41  
    11= The new Generic Deriving mechanism (ongoing work) = 
    22 
    3 GHC includes a new (in 2010) mechanism to let you write generic functions.  It is described in [http://www.dreixel.net/research/pdf/gdmh_nocolor.pdf A generic deriving mechanism for Haskell], by Magalhães, Dijkstra, Jeuring and Löh. This page sketches the specifics of the implementation; we assume you have read the paper. The [http://www.haskell.org/haskellwiki/Generics HaskellWiki page] gives a more general overview. 
     3GHC includes a new (in 2010) mechanism to let you write generic functions.  It is described in paper [http://www.dreixel.net/research/pdf/gdmh_nocolor.pdf A generic deriving mechanism for Haskell]. This page sketches the specifics of the implementation; we assume you have read the paper. The [http://www.haskell.org/haskellwiki/Generics HaskellWiki page] gives a more general overview. 
    44 
    5 This mechanism replaces the [http://www.haskell.org/ghc/docs/6.12.2/html/users_guide/generic-classes.html previous generic classes implementation]. The code is in the `ghc-generics` branch of the [https://github.com/ghc/ghc/commits/ghc-generics ghc], [https://github.com/ghc/packages-base/commits/ghc-generics base], [https://github.com/ghc/packages-ghc-prim/commits/ghc-generics ghc-prim], [https://github.com/ghc/haddock2/commits/ghc-generics haddock2], and [https://github.com/ghc/testsuite/commits/ghc-generics testsuite] repos. 
     5This mechanism replaces the [http://www.haskell.org/ghc/docs/6.12.2/html/users_guide/generic-classes.html previous generic classes implementation]. What we describe until the "Kind polymorphic overhaul" section is implemented and released in GHC 7.0.1. 
    66 
    77== Main components == 
     
    3434 * Base types like `[]`, `Maybe`, tuples, come with Generic instances. 
    3535 
    36 == To do == 
    37  
    38  * Generate `Generic1` instances 
    39  
    40  * Print also the `Rep` type instance when -ddump-deriving is on 
    41  
    42  * Register the `DeriveGeneric` and `DefaultSignatures` extensions with Cabal. 
    43  
    44  * Do we want `Show`, etc. instances for types like `U1`, `:+:`, ...? 
    45  
    4636== Testing == 
    4737 
    4838 * Tests are available under the `generics` directory of the testsuite. 
     39 
     40= Kind polymorphic overhaul = 
     41 
     42Work in progress.