Changes between Version 32 and Version 33 of Commentary/Compiler/GenericDeriving


Ignore:
Timestamp:
May 9, 2011 7:08:29 AM (4 years ago)
Author:
dreixel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/GenericDeriving

    v32 v33  
    2828== Main components ==
    2929
    30  * `TcDeriv.tcDeriving` generates an `InstInfo` for each data type that fulfills the `isRep0` predicate. This `InstInfo` is the `Representable0` instance for that type, allowing it to be handled generically (by kind-`*` generic functions).
     30 * `TcDeriv.tcDeriving` generates an `InstInfo` for each data type that fulfills the `isRep0` predicate. This `InstInfo` is the `Generic` instance for that type, allowing it to be handled generically (by kind-`*` generic functions).
    3131
    3232 * The representation types and core functionality of the library live on `GHC.Generics` (on the `ghc-prim` package).
     
    3838== What already works ==
    3939
    40  * `Representable0` instances are automatically generated when `-XGenerics` is enabled.
     40 * `Generic` instances can be derived when `-XDeriveGeneric` is enabled.
    4141
    42  * The `default` keyword can now be used for generic default method signatures.
     42 * The `default` keyword can used for generic default method signatures when `-XDefaultSignatures` is enabled.
    4343
    4444 * Generic defaults are properly instantiated when giving an instance without defining the generic default method.
    4545
    46  * Base types like `[]`, `Maybe`, tuples, come with Representable0 instances.
     46 * Base types like `[]`, `Maybe`, tuples, come with Generic instances.
    4747
    4848== To do ==
    4949
    50  * Generate `Representable1` instances
     50 * Generate `Generic1` instances
    5151
    52  * Print also the Rep0 type instance when -ddump-deriving is on
     52 * Print also the Rep type instance when -ddump-deriving is on
    5353
    54  * Give better error messages when we cannot derive Representable0 (currently we say only `Cannot derive Representable`)
     54 * Give better error messages when we cannot derive Generic (currently we say only `Cannot derive Generic`)
    5555
    56  * Register the `DeriveRepresentable` and `DefaultSignatures` extensions with Cabal.
     56 * Register the `DeriveGeneric` and `DefaultSignatures` extensions with Cabal.
    5757
    5858 * Do we want `Show`, etc. instances for types like `U1`, `:+:`, ...?