cvs commit: fptools/ghc/compiler/basicTypes MkId.lhs

Simon Peyton Jones simonpj@glass.cse.ogi.edu
Wed, 25 Jul 2001 00:42:24 -0700


simonpj     2001/07/25 00:42:23 PDT

  Modified files:
    ghc/compiler/basicTypes MkId.lhs 
  Log:
  	---------------------------------------
  	Fix a grevious dict-inlining infelicity
  	---------------------------------------
  
  This commit fixes an infelicity that must have been there
  for a long time.  The problem was that dictionary functions
  (arising from instance declarations) were treated as GlobalIds,
  and hence no taken account of when doing free variable and dependency
  analysis.    As a result, the specialiser was messing up dependency
  order, so the program was considerably more complex than it should
  be by the time it got to the strictness analyser.
  
  Net result:
  	PrelRead.$sreduce :: Integer -> Integer -> (Integer,Integer)
  didn't get detected as strict.
  
  Easily fixed, by making DictFunIds into LocalIds (albeit exported ones).
  
  Revision  Changes    Path
  1.71      +14 -1     fptools/ghc/compiler/basicTypes/MkId.lhs