cvs commit: fptools/ghc/compiler DEPEND-NOTES fptools/ghc/compiler/basicTypes FieldLabel.lhs Id.lhs IdInfo.hi-boot IdInfo.hi-boot-5 IdInfo.lhs MkId.lhs Name.lhs Var.lhs fptools/ghc/compiler/compMan CompManager.lhs fptools/ghc/compiler/coreSyn CoreFVs.lhs ...

Simon Peyton Jones simonpj@glass.cse.ogi.edu
Thu, 8 Mar 2001 04:07:43 -0800


simonpj     2001/03/08 04:07:43 PST

  Modified files:
    ghc/compiler         DEPEND-NOTES 
    ghc/compiler/basicTypes FieldLabel.lhs Id.lhs IdInfo.hi-boot 
                            IdInfo.hi-boot-5 IdInfo.lhs MkId.lhs 
                            Name.lhs Var.lhs 
    ghc/compiler/compMan CompManager.lhs 
    ghc/compiler/coreSyn CoreFVs.lhs CoreLint.lhs CoreSat.lhs 
                         CoreTidy.lhs CoreUnfold.lhs CoreUtils.lhs 
                         PprCore.lhs Subst.lhs 
    ghc/compiler/deSugar Desugar.lhs DsForeign.lhs 
    ghc/compiler/ghci    ByteCodeGen.lhs 
    ghc/compiler/main    ErrUtils.lhs HscMain.lhs HscTypes.lhs 
                         MkIface.lhs 
    ghc/compiler/rename  Rename.lhs RnEnv.lhs RnHiFiles.lhs 
                         RnIfaces.lhs RnMonad.lhs RnNames.lhs 
    ghc/compiler/simplCore SATMonad.lhs SimplCore.lhs 
                           SimplUtils.lhs 
    ghc/compiler/specialise SpecConstr.lhs Specialise.lhs 
    ghc/compiler/stgSyn  CoreToStg.lhs 
    ghc/compiler/stranal WorkWrap.lhs 
    ghc/compiler/typecheck Inst.lhs TcBinds.lhs TcClassDcl.lhs 
                           TcEnv.lhs TcForeign.lhs TcHsSyn.lhs 
                           TcIfaceSig.lhs TcModule.lhs 
                           TcMonoType.lhs TcPat.lhs TcRules.lhs 
                           TcTyClsDecls.lhs 
    ghc/compiler/types   Generics.lhs 
    ghc/compiler/usageSP UsageSPInf.lhs UsageSPUtils.lhs 
  Log:
  	--------------------
  	A major hygiene pass
  	--------------------
  
  1. The main change here is to
  
  	Move what was the "IdFlavour" out of IdInfo,
  	and into the varDetails field of a Var
  
     It was a mess before, because the flavour was a permanent attribute
     of an Id, whereas the rest of the IdInfo was ephemeral.  It's
     all much tidier now.
  
     Main places to look:
  
  	   Var.lhs	Defn of VarDetails
  	   IdInfo.lhs	Defn of GlobalIdDetails
  
     The main remaining infelicity is that SpecPragmaIds are right down
     in Var.lhs, which seems unduly built-in for such an ephemeral thing.
     But that is no worse than before.
  
  2. Tidy up the HscMain story a little.  Move mkModDetails from MkIface
     into CoreTidy (where it belongs more nicely)
  
     This was partly forced by (1) above, because I didn't want to make
     DictFun Ids into a separate kind of Id (which is how it was before).
     Not having them separate means we have to keep a list of them right
     through, rather than pull them out of the bindings at the end.
  
  3. Add NameEnv as a separate module (to join NameSet).
  
  4. Remove unnecessary {-# SOURCE #-} imports from FieldLabel.
  
  Revision  Changes    Path
  1.13      +4 -4      fptools/ghc/compiler/DEPEND-NOTES
  1.17      +2 -3      fptools/ghc/compiler/basicTypes/FieldLabel.lhs
  1.84      +72 -86    fptools/ghc/compiler/basicTypes/Id.lhs
  1.5       +3 -1      fptools/ghc/compiler/basicTypes/IdInfo.hi-boot
  1.5       +3 -1      fptools/ghc/compiler/basicTypes/IdInfo.hi-boot-5
  1.69      +59 -103   fptools/ghc/compiler/basicTypes/IdInfo.lhs
  1.55      +33 -74    fptools/ghc/compiler/basicTypes/MkId.lhs
  1.90      +1 -57     fptools/ghc/compiler/basicTypes/Name.lhs
  1.19      +138 -47   fptools/ghc/compiler/basicTypes/Var.lhs
  1.64      +2 -2      fptools/ghc/compiler/compMan/CompManager.lhs
  1.12      +1 -26     fptools/ghc/compiler/coreSyn/CoreFVs.lhs
  1.60      +2 -2      fptools/ghc/compiler/coreSyn/CoreLint.lhs
  1.16      +6 -13     fptools/ghc/compiler/coreSyn/CoreSat.lhs
  1.43      +120 -35   fptools/ghc/compiler/coreSyn/CoreTidy.lhs
  1.78      +4 -4      fptools/ghc/compiler/coreSyn/CoreUnfold.lhs
  1.69      +5 -5      fptools/ghc/compiler/coreSyn/CoreUtils.lhs
  1.59      +11 -6     fptools/ghc/compiler/coreSyn/PprCore.lhs
  1.22      +7 -8      fptools/ghc/compiler/coreSyn/Subst.lhs
  1.43      +1 -1      fptools/ghc/compiler/deSugar/Desugar.lhs
  1.47      +3 -5      fptools/ghc/compiler/deSugar/DsForeign.lhs
  1.42      +3 -2      fptools/ghc/compiler/ghci/ByteCodeGen.lhs
  1.35      +10 -1     fptools/ghc/compiler/main/ErrUtils.lhs
  1.106     +26 -40    fptools/ghc/compiler/main/HscMain.lhs
  1.70      +20 -1     fptools/ghc/compiler/main/HscTypes.lhs
  1.125     +57 -111   fptools/ghc/compiler/main/MkIface.lhs
  1.156     +2 -2      fptools/ghc/compiler/rename/Rename.lhs
  1.112     +2 -2      fptools/ghc/compiler/rename/RnEnv.lhs
  1.38      +1 -1      fptools/ghc/compiler/rename/RnHiFiles.lhs
  1.139     +2 -2      fptools/ghc/compiler/rename/RnIfaces.lhs
  1.118     +1 -1      fptools/ghc/compiler/rename/RnMonad.lhs
  1.118     +5 -6      fptools/ghc/compiler/rename/RnNames.lhs
  1.15      +2 -2      fptools/ghc/compiler/simplCore/SATMonad.lhs
  1.93      +11 -6     fptools/ghc/compiler/simplCore/SimplCore.lhs
  1.61      +2 -2      fptools/ghc/compiler/simplCore/SimplUtils.lhs
  1.5       +3 -4      fptools/ghc/compiler/specialise/SpecConstr.lhs
  1.74      +2 -5      fptools/ghc/compiler/specialise/Specialise.lhs
  1.75      +3 -3      fptools/ghc/compiler/stgSyn/CoreToStg.lhs
  1.43      +1 -2      fptools/ghc/compiler/stranal/WorkWrap.lhs
  1.74      +3 -3      fptools/ghc/compiler/typecheck/Inst.lhs
  1.85      +3 -3      fptools/ghc/compiler/typecheck/TcBinds.lhs
  1.94      +2 -2      fptools/ghc/compiler/typecheck/TcClassDcl.lhs
  1.91      +4 -5      fptools/ghc/compiler/typecheck/TcEnv.lhs
  1.30      +4 -4      fptools/ghc/compiler/typecheck/TcForeign.lhs
  1.56      +1 -1      fptools/ghc/compiler/typecheck/TcHsSyn.lhs
  1.69      +8 -8      fptools/ghc/compiler/typecheck/TcIfaceSig.lhs
  1.111     +43 -66    fptools/ghc/compiler/typecheck/TcModule.lhs
  1.74      +2 -2      fptools/ghc/compiler/typecheck/TcMonoType.lhs
  1.59      +2 -2      fptools/ghc/compiler/typecheck/TcPat.lhs
  1.22      +3 -3      fptools/ghc/compiler/typecheck/TcRules.lhs
  1.71      +1 -1      fptools/ghc/compiler/typecheck/TcTyClsDecls.lhs
  1.12      +7 -7      fptools/ghc/compiler/types/Generics.lhs
  1.19      +0 -1      fptools/ghc/compiler/usageSP/UsageSPInf.lhs
  1.15      +0 -1      fptools/ghc/compiler/usageSP/UsageSPUtils.lhs