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


Ignore:
Timestamp:
Dec 13, 2011 2:16:48 PM (4 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.