|
Subject: patch applied (ghc): Improve dependency analysis; makes more dictionaries inlinable Newsgroups: gmane.comp.lang.haskell.cvs.all, gmane.comp.lang.haskell.cvs.ghc Date: 2006-12-06 07:36:02 GMT (1 year, 50 weeks, 13 hours and 53 minutes ago)
Tue Dec 5 23:18:45 PST 2006 simonpj <at> microsoft.com
* Improve dependency analysis; makes more dictionaries inlinable
I recentl changed the scoring system used by dependency analysis for
recursive bindings, that it used the *form* of the RHS of a binding,
rather than just its type. In doing so I inadvertently made recursive
dictionary bindings unravel less well, because I'd missed the case
of c = /\a. C (...) (...)
This patch fixes the problem. A good example is the instance for
Monad (ST s) or Show (ST s a) in GHC.ST. It's vital for these
dictionaries to be inlinable.
M ./compiler/simplCore/OccurAnal.lhs +5
|
|
|