JSON Number
| -- http://rfc7159.net/rfc7159#rfc.section.6 | |
| data Digit = | |
| D0 | |
| | D1 | |
| | D2 | |
| | D3 | |
| | D4 | |
| | D5 | |
| | D6 | |
| | D7 | |
| | D8 | |
| | D9 | |
| deriving (Eq, Ord, Show) | |
| data Digit1to9 = | |
| D1_1to9 | |
| | D2_1to9 | |
| | D3_1to9 | |
| | D4_1to9 | |
| | D5_1to9 | |
| | D6_1to9 | |
| | D7_1to9 | |
| | D8_1to9 | |
| | D9_1to9 | |
| deriving (Eq, Ord, Show) | |
| data JInt = | |
| JZero | |
| | JInt Digit1to9 [Digit] | |
| deriving (Eq, Ord, Show) | |
| data E = | |
| EE | |
| | Ee | |
| deriving (Eq, Ord, Show) | |
| newtype Frac = | |
| Frac | |
| (NonEmpty Digit) | |
| deriving (Eq, Ord, Show) | |
| data Exp = | |
| Exp { | |
| _e :: | |
| E | |
| , _minusplus :: | |
| Bool | |
| , _expdigits :: | |
| NonEmpty Digit | |
| } | |
| deriving (Eq, Ord, Show) | |
| data JNumber = | |
| JNumber { | |
| _minus :: | |
| Bool | |
| , _numberint :: | |
| JInt | |
| , _fracexp :: | |
| Maybe (Frac, Maybe Exp) | |
| } | |
| deriving (Eq, Ord, Show) | |
| parseJNumber :: | |
| (Monad f, CharParsing f) => | |
| f JNumber | |
| parseJNumber = | |
| error "omitted" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment