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