cvs commit: fptools/ghc/compiler/codeGen ClosureInfo.lhs
fptools/ghc/compiler/coreSyn
MkExternalCore.lhs fptools/ghc/compiler/deSugar Desugar.lhs
DsForeign.lhs DsMeta.hs Match.hi-boot-5 Match.hi-boot-6
fptools/ghc/compiler/iface IfaceType.lhs LoadIface.lhs MkIface.lhs ...
Simon Peyton Jones
simonpj at haskell.org
Fri Oct 1 09:43:00 EDT 2004
simonpj 2004/10/01 06:42:59 PDT
Modified files:
ghc/compiler/codeGen ClosureInfo.lhs
ghc/compiler/coreSyn MkExternalCore.lhs
ghc/compiler/deSugar Desugar.lhs DsForeign.lhs DsMeta.hs
Match.hi-boot-5 Match.hi-boot-6
ghc/compiler/iface IfaceType.lhs LoadIface.lhs MkIface.lhs
ghc/compiler/main HscTypes.lhs
ghc/compiler/parser RdrHsSyn.lhs
ghc/compiler/rename RnNames.lhs
ghc/compiler/typecheck TcMType.lhs TcRnDriver.lhs
TcSplice.hi-boot-6 TcSplice.lhs
TcTyClsDecls.lhs TcTyDecls.lhs
TcType.lhs TcUnify.lhs
ghc/compiler/types InstEnv.lhs TyCon.lhs Type.lhs
TypeRep.lhs Unify.lhs
ghc/compiler/utils Util.lhs
Log:
------------------------------------
Simplify the treatment of newtypes
Complete hi-boot file consistency checking
------------------------------------
In the representation of types, newtypes used to have a special constructor
all to themselves, very like TyConApp, called NewTcApp. The trouble is
that means we have to *know* when a newtype is a newtype, and in an hi-boot
context we may not -- the data type might be declared as
data T
in the hi-boot file, but as
newtype T = ...
in the source file. In GHCi, which accumulates stuff from multiple compiles,
this makes a difference.
So I've nuked NewTcApp. Newtypes are represented using TyConApps again. This
turned out to reduce the total amount of code, and simplify the Type data type,
which is all to the good.
This commit also fixes a few things in the hi-boot consistency checking
stuff.
Revision Changes Path
1.65 +0 -1 fptools/ghc/compiler/codeGen/ClosureInfo.lhs
1.28 +1 -4 fptools/ghc/compiler/coreSyn/MkExternalCore.lhs
1.76 +17 -6 fptools/ghc/compiler/deSugar/Desugar.lhs
1.84 +2 -2 fptools/ghc/compiler/deSugar/DsForeign.lhs
1.64 +7 -6 fptools/ghc/compiler/deSugar/DsMeta.hs
1.6 +1 -1 fptools/ghc/compiler/deSugar/Match.hi-boot-5
1.5 +1 -1 fptools/ghc/compiler/deSugar/Match.hi-boot-6
1.9 +0 -1 fptools/ghc/compiler/iface/IfaceType.lhs
1.17 +17 -12 fptools/ghc/compiler/iface/LoadIface.lhs
1.17 +2 -2 fptools/ghc/compiler/iface/MkIface.lhs
1.118 +2 -0 fptools/ghc/compiler/main/HscTypes.lhs
1.76 +1 -1 fptools/ghc/compiler/parser/RdrHsSyn.lhs
1.175 +0 -2 fptools/ghc/compiler/rename/RnNames.lhs
1.59 +0 -6 fptools/ghc/compiler/typecheck/TcMType.lhs
1.81 +26 -25 fptools/ghc/compiler/typecheck/TcRnDriver.lhs
1.8 +1 -1 fptools/ghc/compiler/typecheck/TcSplice.hi-boot-6
1.41 +1 -2 fptools/ghc/compiler/typecheck/TcSplice.lhs
1.110 +3 -3 fptools/ghc/compiler/typecheck/TcTyClsDecls.lhs
1.99 +38 -26 fptools/ghc/compiler/typecheck/TcTyDecls.lhs
1.110 +9 -18 fptools/ghc/compiler/typecheck/TcType.lhs
1.58 +1 -7 fptools/ghc/compiler/typecheck/TcUnify.lhs
1.35 +7 -2 fptools/ghc/compiler/types/InstEnv.lhs
1.75 +21 -4 fptools/ghc/compiler/types/TyCon.lhs
1.126 +91 -134 fptools/ghc/compiler/types/Type.lhs
1.39 +17 -24 fptools/ghc/compiler/types/TypeRep.lhs
1.15 +9 -21 fptools/ghc/compiler/types/Unify.lhs
1.69 +11 -21 fptools/ghc/compiler/utils/Util.lhs
More information about the Cvs-ghc
mailing list