Changes between Version 7 and Version 8 of GhcKinds


Ignore:
Timestamp:
Aug 9, 2011 3:27:36 PM (4 years ago)
Author:
ia0
Comment:

Step 1

Legend:

Unmodified
Added
Removed
Modified
  • GhcKinds

    v7 v8  
    1515== Implementation ==
    1616
    17 The GHC branch is called {{{ghc-kinds}}}.  There is also a Haddock branch with the same name.
     17The GHC branch is called {{{ghc-kinds}}}.  There is also a Haddock branch with the same name.  Hoopl needs a kind annotation available on a branch in [http://darcs.haskell.org/packages/hoopl.git/].
    1818
    1919The implementation will follow these steps (in bold is the first phase (parser, renamer, type checker, ...) that does not work):
    20   1. '''[Type checker]''' Promotion of Haskell98 data types of kind star: {{{*}}}.
    21   1. Kind polymorphism in Core.
     20  1. Promotion of Haskell98 data types of kind star: {{{*}}}.
     21  1. '''[]''' Kind polymorphism in Core.
    2222  1. Promotion of Haskell98 data types of first order kind: {{{* -> .. * -> *}}}.
    2323  1. Kind polymorphic data types, type families, and type classes.
     
    2929    * Rename {{{rnHsType}}} into {{{rnHsTyKi}}} and parametrize with a boolean to know if we are renaming a type or a kind.
    3030  * Allow promoted data and type constructors:
    31     * Extend the parser to allow ticked names like {{{'Zero}}} or {{{'Nat.Succ}}} as atoms in types.
    32     * Extend the parser to allow ''optionally'' ticked names like {{{Nat}}} or {{{'Bool}}} as atoms in kinds.
     31    * Extend the parser to allow optionally ticked names as atoms in types and kinds.
    3332    * Extend {{{HsType name}}} with {{{HsPromotedConTy name}}} to represent ticked names.
    3433    * Extend the renamer to handle implicit promotion.
    35     * Extend {{{TyCon}}} with {{{PromotedDataTyCon}}} to represent promoted data constructors.
     34    * Extend {{{TyCon}}} with {{{PromotedDataTyCon}}} and {{{PromotedTypeTyCon}}} to represent promoted data and type constructors.
     35    * Extend the type checker accordingly.
    3636  * Rename {{{KindVar}}} which is used during type checking into {{{MetaKindVar}}}, since we will add kind variables later.
    3737