
+1 from me.
The primary concern is of course that this means loss of compatibility with the current Haskell Report.
foo :: Num a => a -> String
foo = show
would cease to type check.
-Edward
Sent from my iPad
On Sep 15, 2011, at 6:58 PM, Ian Lynagh
Hi all,
I would like to propose that we remove the Show and Eq superclasses from Num, i.e. change class (Eq a, Show a) => Num a where [...] to class Num a where [...]
The first 2 attached patches (for base and ghc respectively) remove the Show constraint. I'm not aware of any justification for why this superclass makes sense.
The next 2 patches (for base and unix respectively) remove the Eq constraint. Here's there's some justification in the superclass, as it makes f 5 = ... work for any Num type, rather than also needing an Eq constraint, but personally I would be in favour of removing this superclass too. Noteworthy is that Bits now needs an Eq superclass for the default methods for 'testBit' and 'popCount'.
The fifth patch (for base) is what prompted me to get around to sending this proposal. It lets us de-orphan the Show Integer instance.
Any opinions?
Suggested discussion deadline: 12th October
Thanks Ian
<0003-Remove-the-Show-superclass-of-Num.patch> <0001-Follow-the-removal-of-the-Show-superclass-of-Num.patch> <0004-Remove-the-Eq-superclass-of-Num.patch> <0001-Follow-the-removal-of-the-Eq-superclass-of-Num.patch> <0005-De-orphan-the-Show-Integer-instance.patch> _______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries