
On Mon, Jul 19, 2010 at 11:29:37AM +0200, Christian Maeder wrote:
I'm for this proposal, although I've got an example where I need this context, namely for DrIFT to derive a proper context for instances.
DrIFT doesn't know that the Read instance for Data.Set.Set relies on Ord of the elements. For
data Ord symbol => ExtSign sign symbol = ExtSign { plainSign :: sign , nonImportedSymbols :: Set.Set symbol } deriving Show
DrIFT cannot derive the Read (or our deserialization) instance without the "Ord symbol =>" context.
However, ghc is able by "deriving (Show, Read)" to see
instance (Ord symbol, Read sign, Read symbol) => Read (ExtSign sign symbol)
without the context.
Hmm... if you can provide a fix for this I'll integrate it, perhaps a manual annotation will be the only way, I don't think there is any easy way for DrIFT to derive that information otherwise. John -- John Meacham - ⑆repetae.net⑆john⑈ - http://notanumber.net/