on master help sign in
Add hexadecimal and realFloat.
a0aeedbPaweł Nowak
Data/Syntax/Char.hs+8−1
@@ -27,6 +27,7 @@ module Data.Syntax.Char (
27 ) where
27 ) where
28
28
29import Control.Lens.SemiIso
29import Control.Lens.SemiIso
30+import Data.Bits
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
45
46
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+
46 -- | A scientific number.
53 -- | A scientific number.
47 scientific :: syn Scientific
54 scientific :: syn Scientific
48
55
49− {-# MINIMAL decimal, scientific #-}
56+ {-# MINIMAL decimal, hexadecimal, realFloat, scientific #-}
50
57
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