Remove Enum from Float and Double

Johan Tibell johan.tibell at gmail.com
Tue Jun 11 23:18:41 CEST 2013


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 <voldermort at hotmail.com> wrote:

> Johan Tibell <johan.tibell at ...> 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-0999999999999999-in-haskell
> ,
> 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-number-getting-wrong-in-list-haskell
> ,
> and many more.
>
> On the other hand, how much working code is there "correctly" using there
> instances?
>
>
> _______________________________________________
> Haskell-prime mailing list
> Haskell-prime at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-prime
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-prime/attachments/20130611/dc3d402a/attachment.htm>


More information about the Haskell-prime mailing list