cvs commit: fptools/ghc/compiler/simplCore SimplCore.lhs fptools/ghc/compiler/typecheck TcHsSyn.lhs TcIfaceSig.lhs TcModule.lhs TcRules.lhs

Simon Peyton Jones simonpj@glass.cse.ogi.edu
Tue, 27 Feb 2001 03:50:06 -0800


simonpj     2001/02/27 03:50:05 PST

  Modified files:
    ghc/compiler/simplCore SimplCore.lhs 
    ghc/compiler/typecheck TcHsSyn.lhs TcIfaceSig.lhs TcModule.lhs 
                           TcRules.lhs 
  Log:
  	Temporary fix for a nasty black hole
  
  The problem is that the type checker has a big knot for "unf_env".
  This means that we can't look at unfoldings inside the loop, which
  is fair enough.  But setting an unfolding in the IdInfo is strict
  in the unfolding, so we can't look at the IdInfo either.
  
  But isLocalId looks at the IdInfo, and it was being used in an
  assert in TcHsSyn, and in setting the in_scope_vars in TcIfaceSig.
  
  I think the right solution is to take the "flavour" out of IdInfo,
  and put it into VarDetails, but I've done a quick fix for now.
  (Remove the assert, and use a different way in TcIfaceSig.)
  
  Revision  Changes    Path
  1.89      +0 -1      fptools/ghc/compiler/simplCore/SimplCore.lhs
  1.55      +3 -1      fptools/ghc/compiler/typecheck/TcHsSyn.lhs
  1.68      +10 -5     fptools/ghc/compiler/typecheck/TcIfaceSig.lhs
  1.108     +3 -1      fptools/ghc/compiler/typecheck/TcModule.lhs
  1.20      +6 -3      fptools/ghc/compiler/typecheck/TcRules.lhs