
Dominic Steinitz wrote:
I often find myself wanting to print out hex values as a string. I couldn't
Me too! And I also often want to see binary values (ie. 13 == 0x0D == 0b1101) Just some information: I remember that there is a 'showHex' function in the "NumExts" module in Ghc (at least in version 5.x). See: http://www.haskell.org/ghc/docs/latest/html/hslibs/sec-NumExts.html All the best, -- Daan.
find a library function so I came up with this. Is it worth putting in a library? The obvious place for me would be Data.Codec.Utils.
Thoughts?
Dominic.
hexify :: Integral a => a -> Doc hexify n = let bar = map (map sh) (split 16 (toOctets 256 n)) foo = map (intersperse colon) (map (map text) bar) baz = vcat (map hcat foo) in baz
sh x | x < 16 = showHex x "0" | otherwise = showHex x ""
split :: Int -> [a] -> [[a]] split n xs = unfoldr (g n) xs where g :: Int -> [a] -> Maybe ([a],[a]) g n y | length y == 0 = Nothing | otherwise = Just (splitAt n y)
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries