• simonpj's avatar
    [project @ 2004-03-17 13:59:06 by simonpj] · af5a2151
    simonpj authored
    ------------------------
    	More newtype clearing up
    	------------------------
    
    * Change the representation of TyCons so that it accurately reflects
    	* data     (0 or more constrs)
    	* newtype  (1 constr)
    	* abstract (unknown)
      Replaces DataConDetails and AlgTyConFlavour with AlgTyConRhs
    
    * Add IfaceSyn.IfaceConDecls, a kind of stripped-down analogue
      of AlgTyConRhs
    
    * Move NewOrData from BasicTypes to HsDecl (it's now an HsSyn thing)
    
    * Arrange that Type.newTypeRep and splitRecNewType_maybe unwrap just
      one layer of new-type-ness, leaving the caller to recurse.
    
      This still leaves typeRep and repType in Type.lhs; these functions
      are still vaguely disturbing and probably should get some attention.
    
    Lots of knock-on changes.  Fixes bug in ds054.
    af5a2151
HsDecls.lhs 24.2 KB