OVERLAPPABLE/OVERLAPPING/OVERLAPS pragmas are confusing

Simon Peyton Jones simonpj at microsoft.com
Tue Aug 25 11:25:18 UTC 2015


What's the right way to migrate code? Just switching my library to the new pragmas breaks code, so that doesn't seem very attractive.

I don’t understand.  Can you describe the problem more precisely, perhaps with an example?

S


From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Johan Tibell
Sent: 25 August 2015 10:42
To: ghc-devs at haskell.org
Subject: OVERLAPPABLE/OVERLAPPING/OVERLAPS pragmas are confusing

It was brought to my attention that cassava, my library, uses OverlappingInstances, which is now deprecated. There's a suggested fix here: https://github.com/tibbe/cassava/pull/95.

The fix seems correct but, as Mikhail points out, makes some client code no longer compile (due to a now missing OVERLAPPABLE pragma).

What's the right way to migrate code? Just switching my library to the new pragmas breaks code, so that doesn't seem very attractive. Do clients have to migrate before the libraries they use?

-- Johan


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20150825/0a4c6124/attachment-0001.html>


More information about the ghc-devs mailing list