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