Hi, in the Number library, maxBound doesn't terminate, and signum is
missing, which results in program errors when using div or mod.
Here is a patch:

*** Number.hs.org       Tue Feb 18 18:52:24 1997
--- Number.hs   Fri May 15 16:13:21 1998
***************
*** 42,47 ****
--- 42,48 ----
       numToInteger    :: Number -> Integer,
       numMax          :: Number,
       numMin          :: Number,
+      numSignum       :: Number -> Number,
       numToRat        :: Number -> Rational,
       numQrm          :: Number -> Number -> (Number, Number),
       numRange        :: (Number, Number) -> [Number],
***************
*** 59,64 ****
--- 60,66 ----
  numToInteger    = toInteger
  numMax          = maxBound
  numMin          = minBound
+ numSignum       = signum
  numToRat        = toRational
  numQrm          = quotRem
  numRange        = range
***************
*** 106,115 ****
    fromInt     = numFromInt
    fromInteger = numFromInteger
    abs x       = if x<0 then negate x else x
  
  instance Bounded Number where
    minBound    = numMin
!   maxBound    = maxBound
  
  instance Real Number where
    toRational  = numToRat
--- 108,118 ----
    fromInt     = numFromInt
    fromInteger = numFromInteger
    abs x       = if x<0 then negate x else x
+   signum      = numSignum
  
  instance Bounded Number where
    minBound    = numMin
!   maxBound    = numMax
  
  instance Real Number where
    toRational  = numToRat



Christian Sievers

Reply via email to