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