@@ -27,6 +27,7 @@ module Data.Syntax.Char (
29import Control.Lens.SemiIso
29import Control.Lens.SemiIso
30import Data.Char
31import Data.Char
31import Data.MonoTraversable
32import Data.MonoTraversable
32import Data.Scientific (Scientific)
33import Data.Scientific (Scientific)
@@ -43,10 +44,16 @@ class (Syntax syn seq, Element seq ~ Char) => SyntaxChar syn seq where
43 -- | An unsigned decimal number.
44 -- | An unsigned decimal number.
44 decimal :: Integral a => syn a
45 decimal :: Integral a => syn a
47+ -- | An unsigned hexadecimal number.
48+ hexadecimal :: (Integral a, Bits a) => syn a
50+ -- | A signed real number.
51+ realFloat :: RealFloat a => syn a
46 -- | A scientific number.
53 -- | A scientific number.
47 scientific :: syn Scientific
54 scientific :: syn Scientific
49− {-# MINIMAL decimal, scientific #-}
56+ {-# MINIMAL decimal, hexadecimal, realFloat, scientific #-}
51-- | An useful synonym for SyntaxChars with Text sequences.
58-- | An useful synonym for SyntaxChars with Text sequences.
52type SyntaxText syn = SyntaxChar syn Text
59type SyntaxText syn = SyntaxChar syn Text