From 571f57b06ea9d5cba4a829de8c7ab9bad02120de Mon Sep 17 00:00:00 2001 From: sof <unknown> Date: Tue, 19 Jan 1999 09:55:05 +0000 Subject: [PATCH] [project @ 1999-01-19 09:55:05 by sof] Added showBin (binary nums - no, the 'old' showBin & friends hasn't been resurrected) + showIntAtBase to export list: showBin :: (Integral a) => a -> ShowS showIntAtBase :: Integral a => a -- base -> (a -> Char) -- digit to char -> a -- number to show. -> ShowS --- ghc/lib/exts/NumExts.lhs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ghc/lib/exts/NumExts.lhs b/ghc/lib/exts/NumExts.lhs index b3c4fe905165..77968f425448 100644 --- a/ghc/lib/exts/NumExts.lhs +++ b/ghc/lib/exts/NumExts.lhs @@ -10,8 +10,17 @@ module NumExts ( doubleToFloat -- :: Double -> Float , floatToDouble -- :: Double -> Float + , showHex -- :: Integral a => a -> ShowS , showOct -- :: Integral a => a -> ShowS + , showBin -- :: Integral a => a -> ShowS + + -- general purpose number->string converter. + , showIntAtBase -- :: Integral a + -- => a -- base + -- -> (a -> Char) -- digit to char + -- -> a -- number to show. + -- -> ShowS ) where import Char (ord, chr) @@ -77,4 +86,10 @@ showOct n r = showString "0o" $ showIntAtBase 8 (toChrOct) n r where toChrOct d = chr (ord_0 + fromIntegral d) + +showBin :: Integral a => a -> ShowS +showBin n r = + showString "0b" $ + showIntAtBase 2 (toChrOct) n r + where toChrOct d = chr (ord_0 + fromIntegral d) \end{code} -- GitLab