Mon Aug 27 23:18:51 PDT 2007  Manuel M T Chakravarty <[EMAIL PROTECTED]>
  * Type checking for type synonym families
  
  This patch introduces type checking for type families of which associated
  type synonyms are a special case. E.g.
  
          type family Sum n m
  
          type instance Sum Zero n = n
          type instance Sum (Succ n) m = Succ (Sum n m)
  
  where
  
          data Zero       -- empty type
          data Succ n     -- empty type
  
  In addition we support equational constraints of the form:
  
          ty1 ~ ty2
  
  (where ty1 and ty2 are arbitrary tau types) in any context where
  type class constraints are already allowed, e.g.
  
          data Equals a b where
                  Equals :: a ~ b => Equals a b
  
  The above two syntactical extensions are disabled by default. Enable
  with the -XTypeFamilies flag.
  
  For further documentation about the patch, see:
  
          * the master plan
            http://hackage.haskell.org/trac/ghc/wiki/TypeFunctions
  
          * the user-level documentation
            http://haskell.org/haskellwiki/GHC/Indexed_types
  
  The patch is mostly backwards compatible, except for:
  
          * Some error messages have been changed slightly.
  
          * Type checking of GADTs now requires a bit more type declarations:
            not only should the type of a GADT case scrutinee be given, but also
            that of any identifiers used in the branches and the return type.
  
  Please report any unexpected behavior and incomprehensible error message 
  for existing code.
  
  Contributors (code and/or ideas):
          Tom Schrijvers
          Manuel Chakravarty
          Simon Peyton-Jones
          Martin Sulzmann 
  with special thanks to Roman Leshchinskiy

    M ./compiler/NOTES -52 +27
    M ./compiler/basicTypes/DataCon.lhs -24 +53
    M ./compiler/basicTypes/MkId.lhs -14 +39
    M ./compiler/basicTypes/Var.lhs -1 +2
    M ./compiler/coreSyn/CoreUtils.lhs -7 +12
    M ./compiler/ghci/RtClosureInspect.hs +2
    M ./compiler/hsSyn/HsUtils.lhs -1 +1
    M ./compiler/iface/BuildTyCl.lhs -27 +40
    M ./compiler/iface/MkIface.lhs -1 +1
    M ./compiler/typecheck/Inst.lhs -31 +188
    M ./compiler/typecheck/TcBinds.lhs -2 +13
    M ./compiler/typecheck/TcClassDcl.lhs -2 +2
    M ./compiler/typecheck/TcDeriv.lhs -16 +24
    M ./compiler/typecheck/TcEnv.lhs -23 +29
    M ./compiler/typecheck/TcExpr.lhs -11 +44
    M ./compiler/typecheck/TcHsType.lhs -3 +4
    M ./compiler/typecheck/TcInstDcls.lhs -13 +43
    M ./compiler/typecheck/TcMType.lhs -6 +6
    M ./compiler/typecheck/TcPat.lhs -11 +34
    M ./compiler/typecheck/TcRnMonad.lhs -3 +2
    M ./compiler/typecheck/TcRnTypes.lhs -13 +74
    A ./compiler/typecheck/TcRnTypes.lhs-boot
    M ./compiler/typecheck/TcSimplify.lhs -132 +399
    M ./compiler/typecheck/TcTyClsDecls.lhs -12 +12
    A ./compiler/typecheck/TcTyFuns.lhs
    M ./compiler/typecheck/TcType.lhs -14 +22
    M ./compiler/typecheck/TcUnify.lhs -183 +339
    M ./compiler/typecheck/TcUnify.lhs-boot -2 +4
    M ./compiler/types/Coercion.lhs -34 +41
    M ./compiler/types/TyCon.lhs -1 +5
    M ./compiler/types/Type.lhs -2
    M ./darcs-all -2 +3

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to