Changes between Version 9 and Version 10 of TypeFunctionsTypeChecking


Ignore:
Timestamp:
Aug 15, 2006 5:49:45 PM (9 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TypeFunctionsTypeChecking

    v9 v10  
    2323The function `TcTyClsDecls.tcTyClsDecls` produces `TypeRep.TyThing`s from type and class declarations.  The `TyThing`s produced from the new declaration forms are the following: 
    2424 `type family`:: 
    25    Type synonym families are represented by the standard `TyCon` variant for synonyms, namely `SynTyCon`.  However, they are distinguished from ordinary type synonyms by a value `Nothing` in the field `synTcRhs`. 
     25   Type synonym families are represented by the standard `TyCon` variant for synonyms, namely `SynTyCon`.  They are distinguished from ordinary type synonyms by the value of the field `synTcRhs`, which is now of a new data type `SynTyConRhs`, which has a variant `OpenSynTyCon` to represent families. 
    2626 `type data` and `type newtype`:: 
    27    Data and newtype families are represented by the `TyCon` variant `AlgTyCon`, as are their non-indexed counter parts.  The field `algTcRhs` is currently `AbstractTyCon`.  '''However, when we handle type families in ifaces, we probably want to distinguish their declarations by introducing a new `OpenTyCon`.''' 
     27   Data and newtype families are represented by the `TyCon` variant `AlgTyCon`, as are their non-indexed counter parts, with the difference that the field `algTcRhs` has the newly introduced value `OpenAlgTyCon`.  
    2828 
    2929==== Synonym type constructors: `SynTyCon` ====