[Haskell-cafe] Fundeps and overlapping instances

AntC anthony_clayden at clear.net.nz
Sun May 27 05:49:08 CEST 2012


Gábor Lehel <illissius <at> gmail.com> writes:

> 
> On Fri, May 25, 2012 at 7:06 AM, AntC <anthony_clayden <at> clear.net.nz> 
wrote:
> > But it looks like the work SPJ pointed to is using closed style. ...
> 
> If you're referring to the NewAxioms work Simon linked to in the other
> thread, I don't see it explicitly stated that all instances have to be
> within a single module. Especially section 3.3 (Translation) of the
> pdf[1] seems to suggest otherwise. Though it also doesn't seem to be
> the same as what you're asking for. As far as I can tell, with
> NewAxioms, wherever you could currently have a type instance, you
> could instead have a type instance group. ... [snip]

Thanks Gábor, I think you could be right. (It needs some pretty close reading 
of the equations.) I think in this case an example would be worth a thousand 
typevars - double-barred of course.

    I told them in Hebrew, I told them in Dutch,
    I told them in Latin and Greek,
    But I clear forgot (and it vexes me much),
    That Haskell is what they speak.

The NewAxioms (draft) paper has a reference to Oleg's HList, but not his Type-
level Typeable, nor to Salzmann & Stuckey (2002), Chameleon, nor the myriad 
discussions in the cafe and Haskell Prime.

It would be nice to see a statement along the lines of: we looked at X, Y and 
Z, and didn't follow that approach because ...; or we believe that approach 
can be incorporated like this ...

I thought it was a good research discipline to start with a literature survey, 
to avoid re-inventing the wheel(?)

> It seems vaguely similar to a paper on instance chains[2]
> I saw once.
> 
Thanks, I saw that a while back but didn't look into it much at the time.

There's heaps of approaches out there to type-safe overlaps. Perhaps they're 
all logically equivalent(?) So perhaps we're only bikeshedding about surface 
syntax(??)

AntC








More information about the Haskell-Cafe mailing list