[project @ 2002-11-21 11:31:34 by simonpj] -------------------------------- 	Compile instance declarations better 	--------------------------------
[project @ 2002-11-21 11:31:34 by simonpj]
--------------------------------
	Compile instance declarations better
	--------------------------------

This commit makes the type checker build better dictionaries
from instance declarations.  "Better" in the sense that if a
binding in the instance declaration mentions one of the other
methods of the same class, we use that method directly rather
than going via a (recursive) use of the dictionary.

This makes it easier to unravel recursive knots, and that
makes more inlining happen.  There's a long comment in
TcInstDcls.tcMethods

Makes the Monad instance for ST much more inlinable, and that
makes spectral/fibheaps go faster, among other things.

urbanslug/ghc,ghc-android/ghc,mettekou/ghc,siddhanathan/ghc,nushio3/ghc,olsner/ghc,sdiehl/ghc,holzensp/ghc,vTurbine/ghc,mcmaniac/ghc,anton-dessiatov/ghc,ml9951/ghc,ezyang/ghc,lukexi/ghc,green-haskell/ghc,nushio3/ghc,forked-upstream-packages-for-ghcjs/ghc,mettekou/ghc,wxwxwwxxx/ghc,vikraman/ghc,ekmett/ghc,forked-upstream-packages-for-ghcjs/ghc,fmthoma/ghc,mcmaniac/ghc,gcampax/ghc,AlexanderPankiv/ghc,ml9951/ghc,frantisekfarka/ghc-dsi,sdiehl/ghc,acowley/ghc,ekmett/ghc,sgillespie/ghc,lukexi/ghc,spacekitteh/smcghc,bitemyapp/ghc,shlevy/ghc,mcmaniac/ghc,forked-upstream-packages-for-ghcjs/ghc,fmthoma/ghc,wxwxwwxxx/ghc,nushio3/ghc,da-x/ghc,gcampax/ghc,green-haskell/ghc,gridaphobe/ghc,anton-dessiatov/ghc,mettekou/ghc,ezyang/ghc,nkaretnikov/ghc,oldmanmike/ghc,vikraman/ghc,jstolarek/ghc,mettekou/ghc,AlexanderPankiv/ghc,ghc-android/ghc,ezyang/ghc,GaloisInc/halvm-ghc,sdiehl/ghc,nomeata/ghc,mfine/ghc,nathyong/microghc-ghc,siddhanathan/ghc,gcampax/ghc,TomMD/ghc,ekmett/ghc,nkaretnikov/ghc,nkaretnikov/ghc,tjakway/ghcjvm,forked-upstream-packages-for-ghcjs/ghc,green-haskell/ghc,elieux/ghc,lukexi/ghc-7.8-arm64,fmthoma/ghc,frantisekfarka/ghc-dsi,ezyang/ghc,snoyberg/ghc,acowley/ghc,ml9951/ghc,sgillespie/ghc,ilyasergey/GHC-XAppFix,sdiehl/ghc,GaloisInc/halvm-ghc,wxwxwwxxx/ghc,holzensp/ghc,elieux/ghc,lukexi/ghc-7.8-arm64,ml9951/ghc,ml9951/ghc,olsner/ghc,siddhanathan/ghc,TomMD/ghc,snoyberg/ghc,forked-upstream-packages-for-ghcjs/ghc,da-x/ghc,vikraman/ghc,olsner/ghc,green-haskell/ghc,siddhanathan/ghc,nomeata/ghc,mcschroeder/ghc,vTurbine/ghc,vikraman/ghc,jstolarek/ghc,elieux/ghc,oldmanmike/ghc,sgillespie/ghc,shlevy/ghc,tibbe/ghc,ryantm/ghc,tjakway/ghcjvm,mfine/ghc,vTurbine/ghc,ekmett/ghc,bitemyapp/ghc,ilyasergey/GHC-XAppFix,forked-upstream-packages-for-ghcjs/ghc,shlevy/ghc,nathyong/microghc-ghc,nushio3/ghc,lukexi/ghc-7.8-arm64,gridaphobe/ghc,sgillespie/ghc,mcmaniac/ghc,christiaanb/ghc,vikraman/ghc,TomMD/ghc,ryantm/ghc,anton-dessiatov/ghc,ryantm/ghc,spacekitteh/smcghc,fmthoma/ghc,anton-dessiatov/ghc,ml9951/ghc,nomeata/ghc,gridaphobe/ghc,ghc-android/ghc,hferreiro/replay,sdiehl/ghc,GaloisInc/halvm-ghc,holzensp/ghc,acowley/ghc,mfine/ghc,acowley/ghc,sdiehl/ghc,nushio3/ghc,frantisekfarka/ghc-dsi,oldmanmike/ghc,urbanslug/ghc,tjakway/ghcjvm,bitemyapp/ghc,hferreiro/replay,ml9951/ghc,lukexi/ghc-7.8-arm64,oldmanmike/ghc,forked-upstream-packages-for-ghcjs/ghc,nathyong/microghc-ghc,mettekou/ghc,mfine/ghc,gcampax/ghc,ghc-android/ghc,wxwxwwxxx/ghc,lukexi/ghc,nushio3/ghc,hferreiro/replay,olsner/ghc,nomeata/ghc,fmthoma/ghc,jstolarek/ghc,snoyberg/ghc,gcampax/ghc,vTurbine/ghc,hferreiro/replay,fmthoma/ghc,da-x/ghc,urbanslug/ghc,gcampax/ghc,nkaretnikov/ghc,nushio3/ghc,ekmett/ghc,ryantm/ghc,da-x/ghc,snoyberg/ghc,wxwxwwxxx/ghc,AlexanderPankiv/ghc,wxwxwwxxx/ghc,olsner/ghc,anton-dessiatov/ghc,mfine/ghc,TomMD/ghc,lukexi/ghc,TomMD/ghc,frantisekfarka/ghc-dsi,ryantm/ghc,sgillespie/ghc,nomeata/ghc,snoyberg/ghc,spacekitteh/smcghc,urbanslug/ghc,shlevy/ghc,GaloisInc/halvm-ghc,tibbe/ghc,AlexanderPankiv/ghc,ghc-android/ghc,gridaphobe/ghc,olsner/ghc,TomMD/ghc,siddhanathan/ghc,mcschroeder/ghc,da-x/ghc,mcmaniac/ghc,da-x/ghc,tjakway/ghcjvm,ezyang/ghc,christiaanb/ghc,lukexi/ghc,ezyang/ghc,ml9951/ghc,sgillespie/ghc,mcschroeder/ghc,sgillespie/ghc,bitemyapp/ghc,green-haskell/ghc,fmthoma/ghc,ezyang/ghc,elieux/ghc,nkaretnikov/ghc,tjakway/ghcjvm,mettekou/ghc,mcschroeder/ghc,gridaphobe/ghc,wxwxwwxxx/ghc,tjakway/ghcjvm,siddhanathan/ghc,nathyong/microghc-ghc,bitemyapp/ghc,GaloisInc/halvm-ghc,mettekou/ghc,acowley/ghc,elieux/ghc,nkaretnikov/ghc,oldmanmike/ghc,mcschroeder/ghc,gcampax/ghc,siddhanathan/ghc,frantisekfarka/ghc-dsi,ilyasergey/GHC-XAppFix,vTurbine/ghc,jstolarek/ghc,spacekitteh/smcghc,tibbe/ghc,vTurbine/ghc,AlexanderPankiv/ghc,elieux/ghc,oldmanmike/ghc,nathyong/microghc-ghc,christiaanb/ghc,gridaphobe/ghc,ghc-android/ghc,holzensp/ghc,lukexi/ghc-7.8-arm64,urbanslug/ghc,da-x/ghc,elieux/ghc,tibbe/ghc,nathyong/microghc-ghc,urbanslug/ghc,shlevy/ghc,GaloisInc/halvm-ghc,olsner/ghc,AlexanderPankiv/ghc,GaloisInc/halvm-ghc,oldmanmike/ghc,acowley/ghc,AlexanderPankiv/ghc,anton-dessiatov/ghc,sdiehl/ghc,nkaretnikov/ghc,anton-dessiatov/ghc,shlevy/ghc,nathyong/microghc-ghc,hferreiro/replay,christiaanb/ghc,tjakway/ghcjvm,shlevy/ghc,vikraman/ghc,mfine/ghc,christiaanb/ghc,mcschroeder/ghc,holzensp/ghc,TomMD/ghc,mfine/ghc,ilyasergey/GHC-XAppFix,snoyberg/ghc,urbanslug/ghc,tibbe/ghc,spacekitteh/smcghc,gridaphobe/ghc,vTurbine/ghc,ghc-android/ghc,christiaanb/ghc,jstolarek/ghc,mcschroeder/ghc,snoyberg/ghc,vikraman/ghc,hferreiro/replay,acowley/ghc,hferreiro/replay,christiaanb/ghc