Overlapping and incoherent instances

Johan Tibell johan.tibell at gmail.com
Wed Jul 30 12:55:47 UTC 2014


On Wed, Jul 30, 2014 at 2:50 PM, Ivan Lazar Miljenovic
<ivan.miljenovic at gmail.com> wrote:
> On 30 July 2014 22:07, Andreas Abel <andreas.abel at ifi.lmu.de> wrote:
>> I am a bit surprised by the distinction you outline below.  This is maybe
>> because I am native German, not English.  The German equivalent of
>> "overlap", "überschneiden/überlappen", is used exclusively in a symmetrical
>> fashion.  It's like in English, if I say "our interests overlap", then it is
>> pointless to ask whether my interest are overlapping yours or are overlapped
>> by yours.  I want to alert you to the fact that non-native English speaker
>> might have little understanding for a distinction between "OVERLAPPING" and
>> "OVERLAPPABLE".
>>
>> Let's try to guess what it meant:  Given
>>
>> A) instance Bla Char
>> B) instance Bla a => Bla [a]
>> C) instance Bla String
>>
>> you will in context A,B write C as OVERLAPPING,
>> and in context A,C write B as OVERLAPPABLE?
>
> IIUC, B will be OVERLAPPABLE ("you can overlap this") and C will be
> OVERLAPPING ("I'm overlapping an existing one") whereas C will be
> plain.

Apologies if this question doesn't make sense.

Can we really talk about overlapping, given that instances can be
written in different modules, moved between modules, or removed?


More information about the ghc-devs mailing list