Improve dependency analysis; makes more dictionaries inlinable
authorsimonpj@microsoft.com <unknown>
Wed, 6 Dec 2006 07:18:45 +0000 (07:18 +0000)
committersimonpj@microsoft.com <unknown>
Wed, 6 Dec 2006 07:18:45 +0000 (07:18 +0000)
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.


No differences found