Changes between Version 1 and Version 2 of GhcKinds


Ignore:
Timestamp:
Aug 2, 2011 4:23:42 PM (4 years ago)
Author:
ia0
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GhcKinds

    v1 v2  
    11= GHC Kind level =
    22
    3 This page gives the theory and implementation overview and details about GHC's kind level.  This work is related to [http://personal.cis.strath.ac.uk/~conor/pub/she/ Conor's SHE system] and will be related to Iavor's work on [wiki:TypeNats] to deal with primitive types.
     3This page gives the theory and implementation overview and details about GHC's kind level.  This work is related to [http://personal.cis.strath.ac.uk/~conor/pub/she/ Conor's SHE system] and will be related to Iavor's work on [wiki:TypeNats] to deal with primitive types (promoted {{{Int}}} and {{{Char}}}).
    44
    55== Theory ==
    66
    7 We use the mechanism of promotion to lift a data type to the kind level.  This gives access at the type level to the data constructors, and at the kind level to the type constructor.  All data types cannot be promoted.  For examples GADTs or data types with higher-order kinds.
     7We use the mechanism of promotion to lift a data type to the kind level.  This gives access at the type level to the data constructors, and at the kind level to the type constructor.  All data types cannot be promoted.  For examples GADTs or data types with higher-order kinds.  We add kind polymorphism to allow promotion of polymorphic data constructors (like {{{Nil}}} or {{{Cons}}}).
     8
     9More details can be found on the [attachment:fc-sep.pdf attached pdf].
     10
     11== Examples ==
     12
     13Examples of reimplementation of existing Haskell librairies can be found in the [attachment:examples.pdf examples pdf].
    814
    915== Implementation ==
     
    1521|| Typechecker ||               ||            ||                   ||
    1622
     23The 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.
     24