Changes between Initial Version and Version 1 of Ticket #9371, comment 3


Ignore:
Timestamp:
Jul 28, 2014 9:36:04 AM (5 years ago)
Author:
simonpj
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #9371, comment 3

    initial v1  
    1515So we had to eta-reduce axioms.
    1616
    17 This is a royal pain.  And we have to do it for newtype instances too.  See `Note [Eta reduction for data family axioms]` in `TcInstDcls`. And it turns out that the new, serious bug #9371 is directly attributable to this royal pain.
     17This is a royal pain.  And we have to do it for newtype instances too.  See `Note [Eta reduction for data family axioms]` in `TcInstDcls`. And it turns out that the new, serious bug #9371 is directly attributable to this royal pain.  (Just to record how: {{{FamInstEnv.lookup_fam_inst_env'}}} goes to some trouble to match up arities; but the `my_unify` function passed to it by `lookupFamInstEnvConflicts` simply bypasses all this, and as a result misses the conflict.)
    1818
    1919Side note: our [http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/ Safe coercions” paper] does not say in Section 2 how to deal with data/newtype instances.