[project @ 2001-07-25 07:42:23 by simonpj]
---------------------------------------
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).