default roles
Richard Eisenberg
eir
Fri Oct 11 02:39:01 UTC 2013
Please see below.
On Oct 10, 2013, at 10:09 PM, Edward Kmett wrote:
> Wait, that sounds like it induces bad semantics.
>
> Can't we use that as yet another way to attack the sanctity of Set?
>
> class Ord a => Foo a where
> badInsert :: a -> Set a -> Set a
>
> instance Foo Int where
> badInsert = insert
>
> newtype Bar = Bar Int deriving (Eq,Foo)
>
> instance Ord Bar where
> compare (Bar x) (Bar y) = compare y x
>
> Now you can badInsert into a Set.
>
> If that is still in play then even with all the roles machinery then GND doesn't pass the restrictions of "SafeHaskell". =(
Hrm. Yes.
I'm out of fresh ideas at the moment.
Maybe some will arrive with sleep.
Richard
More information about the Glasgow-haskell-users
mailing list