-
Simon Peyton Jones authored
--------------------------------------- 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).
72904630