Proposal: Add log1p and expm1 to GHC.Float.Floating

wren romano winterkoninkje at gmail.com
Thu Apr 24 03:55:44 UTC 2014


On Mon, Apr 21, 2014 at 8:04 AM, Edward Kmett <ekmett at gmail.com> wrote:
> 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


More information about the Libraries mailing list