On Sep 21, 2013 4:17 PM, "Bob Hutchison" <hutch-li...@recursive.ca> wrote: > > > On 2013-09-21, at 4:46 AM, Stijn van Drongelen <rhym...@gmail.com> wrote: > >> I do have to agree with Damodar Kulkarni that different laws imply different classes. However, this will break **a lot** of existing software. > > > You could argue that the existing software is already broken. >
I agree, but that might also be hardly relevant when fixing an existing language. >> If we would do this, only Eq and Ord need to be duplicated, as they cause most of the problems. Qualified imports should suffice to differentiate between the two. >> >> import qualified Data.Eq.Approximate as A >> import qualified Data.Ord.Approximate as A >> >> main = print $ 3.16227766016837956 A.== 3.16227766016837955 > > > As soon as you start doing computations with fp numbers things get much worse. Only when you start reasoning about (in)equalities. Really, in (a + b) * c = a * c + b * c, it isn't + or * that's causing problems, but =. I'm going to look at Kmett's work and that ltu link when I'm home ;)
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe