Changes between Version 2 and Version 3 of TypeFunctionsRenaming


Ignore:
Timestamp:
Aug 9, 2006 7:42:40 PM (9 years ago)
Author:
chak
Comment:

Update phasing

Legend:

Unmodified
Added
Removed
Modified
  • TypeFunctionsRenaming

    v2 v3  
    33== Phasing ==
    44
    5 GHC is organised such that class and type declarations are processed (during renaming and type checking) before any instance declarations are considered.  In the presence of associated types, instance declarations may contain type definitions.  In particular, the ''data constructors'' introduced by associated data declarations need to be brought into scope before we can rename any expressions.
     5GHC is organised such that class and type declarations are processed (during renaming and type checking) before any instance declarations are considered.  In the presence of associated types, instance declarations may contain type definitions.  In particular, the ''data constructors'' introduced by associated data declarations need to be brought into scope before we can rename any expressions.  Otherwise, the intution wrt. to phasing is that kind signatures are handled in conjunction with vanilla algebraic data type declarations and instances of indexed types are handled together with instance ''heads''.  (NB: GHC splits the treatment of instances into two phases, where instances heads are processed in the first and member function declarations in the second phase.)
    66
    77== Renaming of indexed types ==