cvs commit: fptools/ghc/compiler/deSugar DsMeta.hs fptools/ghc/compiler/hsSyn HsDecls.lhs fptools/ghc/compiler/main HscStats.lhs fptools/ghc/compiler/parser Parser.y.pp RdrHsSyn.lhs fptools/ghc/compiler/rename RnSource.lhs RnTypes.lhs ...

Simon Peyton Jones simonpj at glass.cse.ogi.edu
Fri Apr 2 08:47:07 EST 2004


simonpj     2004/04/02 08:47:07 PST

  Modified files:
    ghc/compiler/deSugar DsMeta.hs 
    ghc/compiler/hsSyn   HsDecls.lhs 
    ghc/compiler/main    HscStats.lhs 
    ghc/compiler/parser  Parser.y.pp RdrHsSyn.lhs 
    ghc/compiler/rename  RnSource.lhs RnTypes.lhs 
    ghc/compiler/typecheck TcDeriv.lhs TcHsType.lhs TcType.lhs 
  Log:
  Extend the "newtype deriving" feature a little bit more
  (at the request of Wolfgang Jeltsch)
  
  Here's the example:
      class C a b
      instance C [a] Char
      newtype T = T Char deriving( C [a] )
  
  Perfectly sensible, and no reason it should not work.
  Fixing this required me to generalise the abstract syntax of
  a 'deriving' item, hence the non-local effects.
  
  Revision  Changes    Path
  1.56      +3 -3      fptools/ghc/compiler/deSugar/DsMeta.hs
  1.105     +6 -3      fptools/ghc/compiler/hsSyn/HsDecls.lhs
  1.13      +1 -1      fptools/ghc/compiler/main/HscStats.lhs
  1.7       +11 -6     fptools/ghc/compiler/parser/Parser.y.pp
  1.69      +1 -1      fptools/ghc/compiler/parser/RdrHsSyn.lhs
  1.166     +3 -3      fptools/ghc/compiler/rename/RnSource.lhs
  1.26      +2 -2      fptools/ghc/compiler/rename/RnTypes.lhs
  1.130     +29 -30    fptools/ghc/compiler/typecheck/TcDeriv.lhs
  1.12      +31 -15    fptools/ghc/compiler/typecheck/TcHsType.lhs
  1.106     +1 -1      fptools/ghc/compiler/typecheck/TcType.lhs


More information about the Cvs-ghc mailing list