[Haskell-cafe] Safe Haskell and instance coherence

MigMit miguelimo38 at yandex.ru
Thu Oct 11 17:59:37 CEST 2012


I hate to admit it, but it seems to me now that one would need dependent types to guarantee Set's good behavior (so that the dictionary for the Ord instance is contained within the Set type).

Отправлено с iPhone

Oct 11, 2012, в 18:42, Mikhail Glushenkov <the.dead.shall.rise at gmail.com> написал(а):

> Hello,
> 
> On Thu, Oct 11, 2012 at 4:33 PM, MigMit <miguelimo38 at yandex.ru> wrote:
>> 
>> On Oct 11, 2012, at 6:23 PM, Mikhail Glushenkov <the.dead.shall.rise at gmail.com> wrote:
>>> 
>>> On Thu, Oct 11, 2012 at 3:54 PM, MigMit <miguelimo38 at yandex.ru> wrote:
>>>> You have a bigger problem coming. Some extensions make multiple instances OK, even in Safe Haskell. For example:
>>>> 
>>>> {-# LANGUAGE FlexibleInstances, IncoherentInstances, Safe #-}
>>>> [...]
>>> 
>>> Safe Haskell already disallows OverlappingInstances.
>> 
>> It doesn't. Overlapping instances are allowed in safe modules, provided that they won't be used in other modules.
> 
> I stand corrected. Still, I think that something will have to be done
> about IncoherentInstances if the aforementioned restriction will be
> added.
> 
> -- 
> ()  ascii ribbon campaign - against html e-mail
> /\  www.asciiribbon.org   - against proprietary attachments



More information about the Haskell-Cafe mailing list