Refactoring for derived Read
Refactoring for derived Read

There are no functional changes in this commit.  But the code for
derived Read is refactored to make it tidier --- and also to make
it very easy if we want derived Read to parse the prefix form of
infix ocnstructors.  

For example,
	data T = Int `T1` Int
According to the H98 report, the derived Read instance will parse
infix uses of T1, but not prefix uses (T1 4 3).  It's arguable that it
should parse both -- and easy to implement, but it would cause a little bit
of code bloat.

Similarly records.

Anyway this commit doesn't implement the change; just makes it easy
to do so.


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