@@ -27,6 +27,7 @@ module Data.Syntax.Char (
2727 ) where
2828
2929import Control.Lens.SemiIso
30+import Data.Bits
3031import Data.Char
3132import Data.MonoTraversable
3233import Data.Scientific (Scientific)
@@ -43,10 +44,16 @@ class (Syntax syn seq, Element seq ~ Char) => SyntaxChar syn seq where
4344 -- | An unsigned decimal number.
4445 decimal :: Integral a => syn a
4546
47+ -- | An unsigned hexadecimal number.
48+ hexadecimal :: (Integral a, Bits a) => syn a
49+
50+ -- | A signed real number.
51+ realFloat :: RealFloat a => syn a
52+
4653 -- | A scientific number.
4754 scientific :: syn Scientific
4855
49− {-# MINIMAL decimal, scientific #-}
56+ {-# MINIMAL decimal, hexadecimal, realFloat, scientific #-}
5057
5158-- | An useful synonym for SyntaxChars with Text sequences.
5259type SyntaxText syn = SyntaxChar syn Text