If we truly believe that the instance is dangerous for users (and not
merely for people who don't understand floating point arithmetic on
computers), then we should add a deprecation pragma to the instance and
discourage its use. But what would the deprecation message encourage
instead, for users to write an explicit loop that tests against some
lower/upper bound? It would have the same problem as enumFromTo. I think
the issue here is really that floating point math on computers is hard to
think about.
On Tue, Jun 11, 2013 at 11:18 AM, harry
Johan Tibell
writes: I don't see much gain. It will break previously working code and the workaround to the breakage will likely be manually reimplementing enumFromTo in each instance.
I forgot the main point of my post :-)
The primary motivation for removing these instances is that they cause endless confusion for beginners, e.g.
http://stackoverflow.com/questions/13203471/the-math-behind-1-09999999999999... , http://stackoverflow.com/questions/9810002/floating-point-list-generator, http://stackoverflow.com/questions/7290438/haskell-ranges-and-floats,
http://stackoverflow.com/questions/10328435/how-to-solve-floating-point-numb... , and many more.
On the other hand, how much working code is there "correctly" using there instances?
_______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://www.haskell.org/mailman/listinfo/haskell-prime