Changes between Version 5 and Version 6 of GhcKinds


Ignore:
Timestamp:
Aug 5, 2011 1:21:17 PM (4 years ago)
Author:
ia0
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GhcKinds

    v5 v6  
    1515== Implementation ==
    1616
    17 The branch is called {{{ghc-kinds}}}.  Its current state is:
    18 ||             || ADT promotion || Primitives || Kind polymorphism ||
    19 || Parser      ||      Yes      ||    Yes     ||       Yes         ||
    20 || Renamer     ||  In progress  ||    Yes     ||                   ||
    21 || Typechecker ||               ||            ||                   ||
     17The GHC branch is called {{{ghc-kinds}}}.  There is also a Haddock branch with the same name.
     18
     19The 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.
     22  1. Promotion of Haskell98 data types of first order kind: {{{* -> .. * -> *}}}.
     23  1. Kind polymorphic data types, type families, and type classes.
     24  1. Singleton types.
     25  1. Built-in types.
    2226
    2327Promotion-related changelog:
     
    2832    * Extend the parser to allow ''optionally'' ticked names like {{{Nat}}} or {{{'Bool}}} as atoms in kinds.
    2933    * Extend {{{HsType name}}} with {{{HsPromotedConTy name}}} to represent ticked names.
     34    * Extend the renamer to handle implicit promotion.
    3035    * Extend {{{TyCon}}} with {{{PromotedDataTyCon}}} to represent promoted data constructors.
    3136  * Rename {{{KindVar}}} which is used during type checking into {{{MetaKindVar}}}, since we will add kind variables later.
     
    3439  * Use {{{HsDocContext}}} instead of {{{SDoc}}} to track renaming context.
    3540
    36 The stage1 compiler does not work, since there is some {{{undefined}}}s in the typechecker.  So you won't be able to build a stage2 or even run validate.  This is the first priority.
    3741