This strikes me as a halfway measure between those who want arithmatic operations on Float/Double to be fast (i.e. IEEE754 semantics/machine ops) and those who want more exacting laws associated with arithmatic classes. As such, I think it's a bad idea. I think it's better that all operations follow the same philosophy.On Thu, Sep 25, 2014 at 11:25 AM, David Feuer <david.feuer@gmail.com> wrote:_______________________________________________DavidIf this is (eventually) done, that would allow us to remove (/=) from Eq, reducing its dictionary to a single member, (==), improving efficiency when the type is not statically known.x == y = decodeFloat x == decodeFloat yAs Edward Kmett explained to me, (/=) is currently needed in Eq to support IEEE floating point semantics for (==) and (/=). As I see it, those semantics are badly broken from the perspective of what Eq is supposed to mean, and really should be supported using special functions (eqIEEE and neqIEEE or whatever), whereas the most appropriate Eq instance for floating point would be something more likeinstance Eq Double where
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries