[Haskell-cafe] Default implementation of Floating (**)

Fabrício Olivetti de França fabricio.olivetti at gmail.com
Wed May 19 14:50:22 UTC 2021


I was using Numeric.Interval in my code and found an issue with the
(**) operator, if the interval contains negative values, it will
return a wrong result (as reported in this open issue

Investigating the source of this problem, I found that it uses the
default implementation of (**) from base defined as x ** y = exp (log
x * y).

So I was wondering, is there any reason to have this (potentially
dangerous) default implementation on base?

Fabricio Olivetti de França

More information about the Haskell-Cafe mailing list