@@ -756,14 +756,16 @@ t_decimal (n::Int) s =
756tl_decimal (n::Int) s =
756tl_decimal (n::Int) s =
757 TL.signed TL.decimal (TL.pack (show n) `TL.append` t) == Right (n,t)
757 TL.signed TL.decimal (TL.pack (show n) `TL.append` t) == Right (n,t)
758 where t = TL.dropWhile isDigit s
758 where t = TL.dropWhile isDigit s
759−t_hexadecimal (n::Positive Int) s ox =
759+t_hexadecimal m s ox =
760 T.hexadecimal (T.concat [p, T.pack (showHex n ""), t]) == Right (n,t)
760 T.hexadecimal (T.concat [p, T.pack (showHex n ""), t]) == Right (n,t)
761 where t = T.dropWhile isHexDigit s
761 where t = T.dropWhile isHexDigit s
762 p = if ox then "0x" else ""
762 p = if ox then "0x" else ""
763−tl_hexadecimal (n::Positive Int) s ox =
763+ n = getPositive m :: Int
764+tl_hexadecimal m s ox =
764 TL.hexadecimal (TL.concat [p, TL.pack (showHex n ""), t]) == Right (n,t)
765 TL.hexadecimal (TL.concat [p, TL.pack (showHex n ""), t]) == Right (n,t)
765 where t = TL.dropWhile isHexDigit s
766 where t = TL.dropWhile isHexDigit s
766 p = if ox then "0x" else ""
767 p = if ox then "0x" else ""
768+ n = getPositive m :: Int
768isFloaty c = c `elem` "+-.0123456789eE"
770isFloaty c = c `elem` "+-.0123456789eE"