High-quality splittable pseudorandom number generator

#8"Show" instance for Hex

We just discovered that the show instance for Hex is buggy. Consider the following program:

> data B = B TFGen String deriving Show
> B tf "f"
B (TFGenR 000000025E37A9D3000000000003D090000000000000DE920000005C5B22D280 0 2 2 0) "F"

As you can see, the "f" is printed in upper-case. This is because the implementation of showsPrec violates the law

showsPrec d x r ++ s  ==  showsPrec d x (r ++ s)

(see [1]), as "map toUpper" is also applied to the argument string. I would argue that the simplest fix is to implement "show" instead.

Best regards, Lars Noschinski

Issue Bundle