From lemming at henning-thielemann.de Sat Aug 27 06:30:37 2016 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Sat, 27 Aug 2016 05:30:37 -0000 Subject: [NumericPrelude] NP bug reports In-Reply-To: References: Message-ID: On Thu, 25 Aug 2016, Eric Crockett wrote: > Is there a github (or similar) repo for this library where I can file bug reports and feature requests? E-mail to me is ok, you may also mail to numeric-prelude at projects.haskell.org. However, the mailing list had problems. I could move to darcs-hub. It includes a bug tracker, but requires conversion to darcs-2 format. So I did not perform the move so far because of low volume of issues. > With the NP equivalent: > > {-# LANGUAGE NoImplicitPrelude, RebindableSyntax #-} Btw. you may omit NoImplicitPrelude. It is implied by RebindableSyntax. > module Main where > > import NumericPrelude > > main :: IO () > main = do > ? let x = sqrt $ -1.0 :: Double > ? print x -- NaN > ? let y = round x :: Int > ? print y -- crashes > > When compiled with -O0, I get NaN and 0, respectively (same as Prelude). When compiled with -O1, I get NaN and > "Prelude.Enum.pred{Int}: tried to take `pred' of minBound". I think the behavior is better than that of Prelude, yet, the error message is confusing. I think it is caused by Algebra.RealRing.roundInt. I wrote 'pred n' instead of 'n-1'. In general I did such things in order to avoid working with number literals because they are not available in all numeric-prelude modules. However, in this case 'n-1' should also work.