
On Mon, Apr 21, 2014 at 8:04 AM, Edward Kmett
I didn't want to make everyone pay for this feature, but as a number of folks feel strongly about it, then let's explore the following modified concrete proposal as an alternative.
* Add log1p, expm1, log1pexp, log1mexp to Floating with the defaults, but extend the MINIMAL pragma for Floating to include them, so everyone gets told to implement them.
Giving the (\x -> log (1 + x)) etc defaults but using MINIMAL pragma to ensure that relying on this default causes compile-time warnings seems like a good way to resolve the current dispute. Personally, I'd prefer the approach of crashing loudly rather than silently losing precision. Because I almost always prefer things to crash loudly rather than fail silently; but then, I delight in the hair shirt. However, without getting a few more voices in here, I'm not sure we're going to get anywhere with the debate. John, Edward, and I all know where each other stand, and we all admit it's something of an aesthetic debate. I wonder if any of the other folks from the numerical haskell community[1][2] would like to offer their perspectives. [1] #numerical-haskell on freenode [2] https://groups.google.com/forum/#!forum/numericalhaskell -- Live well, ~wren