Change naming conventions for compiler-generated dictionaries and type functions
Up to now, the data constructor dictionary for class C as been called
":DC". But there is no reason for the colon to be at the front; indeed
it confuses the (simple-minded) pretty-printer for types. So this
patch changes it to be "D:C". This makes Core a lot easier to read.
Having a colon in the middle ensures that it can't clash with a user-written
data type.
Similarly I changed
T:C Data type corresponding a class dictionary (was :TC)
D:C Data constructor for class dictionary (was :DC)
NTCo:T Coercion mapping from a newtype T to its representation type
(was :CoT)
TFCo:R Coercion mapping from a data family to its respresentation type R
(was :CoFR)
Rn:T The n'th respresentation data type for a data type T
(was :RnT)
Do not merge to 6.10.
HEADS-UP: you'll need to recompile libraries from scratch.
ROMAN: you could do the same for OccName.mkVectTyConOcc etc, if you wanted.