
#9231: 7.8 regression in Read instance of Data.Fixed.Pico -------------------------------------+------------------------------------ Reporter: leonbaum2 | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.3 Component: libraries/base | Version: 7.8.2 Resolution: | Keywords: regression Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by hvr): I can't think of any cleaner fix for this other than radically rewriting `Data.Fixed` or extracting the 10-base exponent via {{{#!hs e = ceiling (logBase 10 (fromInteger r) :: Double) }}} and having the code read like {{{#!hs convertFixed :: forall a . HasResolution a => Lexeme -> ReadPrec (Fixed a) convertFixed (Number n) | Just (i, f) <- numberToFixed e n = return (fromInteger i + (fromInteger f / fromInteger r)) where r = resolution (undefined :: Fixed a) e = ceiling (logBase 10 (fromInteger r) :: Double) convertFixed _ = pfail }}} (Note that `numberToFixed` also expects an exponent rather than a power- of-10) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9231#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler