Straightened out implicit coercions for indexed types
Mon Sep 18 19:35:24 EDT 2006 Manuel M T Chakravarty <chak@cse.unsw.edu.au>
* Straightened out implicit coercions for indexed types
Mon Sep 4 23:46:14 EDT 2006 Manuel M T Chakravarty <chak@cse.unsw.edu.au>
* Straightened out implicit coercions for indexed types
- HscTypes.implicitTyThings and LoadIface.ifaceDeclSubBndrs now
include the coercion of indexed data/newtypes.
- Name generation for the internal names of indexed data/newtypes now uses
the same counter that generates the dfun unique indexes (ie, class and type
instances are counted with the one counter). We could make this two
separate counters if that's what's preferred.
- The unique index of a data/newtype instances needs to go into the iface, so
that we can generate the same names on slurping in the iface as when the
original module was generated. This is a bit yucky, but I don't see a way
to avoid that (other than putting the full blown internal tycon name and
coercion name into the iface, which IMHO would be worse).
- The predicate for when a datacon has a wrapper didn't take GADT
equations nor whether it comes froma family instance into account.
*** WARNING! This patch changed the interface file format. ***
*** Please recompile from scratch. ***
12 files changed: