On Thu, Jan 5, 2012 at 12:30, Christoph Breitkopf <
[email protected]> wrote:

> On Thu, Jan 5, 2012 at 6:15 PM, Johan Tibell <[email protected]>wrote:
>
>> >> c) You are not allowed to add new instances. I don't get this - how is
>> >> this any worse than b)?
>>
>> You cannot prevent the import of new instances. When you import a
>> module you get all its instances. This means that explicit import
>> lists can't protect you.
>
>
> What I don't get is how a new instance may break existing code. Any
> example?
>

It's not unusual for people to define their own instances for things; if a
new release of the library then adds its own version of those instances,
even if they are identical, then those people's code will break.  Google
"orphan instances" to see both general and concrete discussion of the
problem.

I'm blanking on recent practical examples, but there have been some.

-- 
brandon s allbery                                      [email protected]
wandering unix systems administrator (available)     (412) 475-9364 vm/sms
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to