Skip to content
  • Simon Peyton Jones's avatar
    [project @ 2001-03-08 12:07:38 by simonpj] · 51a571c0
    Simon Peyton Jones authored
    --------------------
    	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.
    51a571c0