-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Human-friendly textual representations.
--
-- This package provides an interface for converting between data and its
-- (human-friendly) textual representation.
@package data-textual
@version 0.3.0.1
-- | Parsers for integral numbers written in positional numeral systems.
module Data.Textual.Integral
-- | Positional numeral system.
class PositionalSystem s
systemName :: PositionalSystem s => s -> String
radixIn :: (PositionalSystem s, Num α) => s -> α
isDigitIn :: PositionalSystem s => s -> Char -> Bool
isNzDigitIn :: PositionalSystem s => s -> Char -> Bool
fromDigitIn :: (PositionalSystem s, Num α) => s -> Char -> Maybe α
fromNzDigitIn :: (PositionalSystem s, Num α) => s -> Char -> Maybe α
unsafeFromDigitIn :: (PositionalSystem s, Num α) => s -> Char -> α
intToDigitIn :: PositionalSystem s => s -> Int -> Char
printDigitIn :: (PositionalSystem s, Printer p) => s -> Char -> p
printZeroIn :: (PositionalSystem s, Printer p) => s -> p
-- | Positonal numeral system with a power of two radix.
class PositionalSystem s => BitSystem s
digitBitsIn :: BitSystem s => s -> Int
digitMaskIn :: (BitSystem s, Num α) => s -> α
lastDigitIn :: (BitSystem s, Bits α) => s -> α -> Int
-- | The binary numeral system.
data Binary :: *
Binary :: Binary
-- | The octal numeral system.
data Octal :: *
Octal :: Octal
-- | The decimal numeral system.
data Decimal :: *
Decimal :: Decimal
-- | The hexadecimal numeral system.
data Hexadecimal :: *
Hexadecimal :: Hexadecimal
-- | The hexadecimal numeral system, using lower case digits.
data LowHex :: *
LowHex :: LowHex
-- | The hexadecimal numeral system, using upper case digits.
data UpHex :: *
UpHex :: UpHex
-- | Parse a digit of the specified positional numeral system.
digitIn :: (PositionalSystem s, Num α, CharParsing μ) => s -> μ α
-- | Parse a non-zero digit of the specified positional numeral system.
nzDigitIn :: (PositionalSystem s, Num α, CharParsing μ) => s -> μ α
-- | Parse a binary digit.
binDigit :: (Num α, CharParsing μ) => μ α
-- | Parse a non-zero binary digit ('1').
nzBinDigit :: (Num α, CharParsing μ) => μ α
-- | Parse an octal digit.
octDigit :: (Num α, CharParsing μ) => μ α
-- | Parse a non-zero octal digit.
nzOctDigit :: (Num α, CharParsing μ) => μ α
-- | Parse a decimal digit.
decDigit :: (Num α, CharParsing μ) => μ α
-- | Parse a non-zero decimal digit.
nzDecDigit :: (Num α, CharParsing μ) => μ α
-- | Parse a hexadecimal digit.
hexDigit :: (Num α, CharParsing μ) => μ α
-- | Parse a non-zero hexadecimal digit.
nzHexDigit :: (Num α, CharParsing μ) => μ α
-- | Parse a lower case hexadecimal digit.
lowHexDigit :: (Num α, CharParsing μ) => μ α
-- | Parse a non-zero lower case hexadecimal digit.
nzLowHexDigit :: (Num α, CharParsing μ) => μ α
-- | Parse an upper case hexadecimal digit.
upHexDigit :: (Num α, CharParsing μ) => μ α
-- | Parse a non-zero upper case hexadecimal digit.
nzUpHexDigit :: (Num α, CharParsing μ) => μ α
-- | Parse a non-negative number written in the specified positional
-- numeral system.
nonNegative :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-negative number written in the specified positional
-- numeral system. Leading zeroes are not allowed.
nnCompact :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-negative number written in the specified positional
-- numeral system (up to n digits).
nnUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a non-negative number written in the specified positional
-- numeral system (up to n digits). Leading zeroes are not
-- allowed.
nncUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a non-negative number written in the specified positional
-- numeral system, failing on overflow.
nnBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-negative number written in the specified positional
-- numeral system, failing on overflow. Leading zeroes are not allowed.
nncBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-negative binary number written in the specified positional
-- numeral system.
nnBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-negative binary number written in the specified positional
-- numeral system. Leading zeroes are not allowed.
nncBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-negative binary number written in the specified positional
-- numeral system (up to n digits).
nnBitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a non-negative binary number written in the specified positional
-- numeral system (up to n digits). Leading zeroes are not
-- allowed.
nncBitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a non-negative binary number written in the specified positional
-- numeral system, failing on overflow.
nnbBits :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-negative binary number written in the specified positional
-- numeral system, failing on overflow. Leading zeroes are not allowed.
nncbBits :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-positive number written in the specified positional
-- numeral system. For example, parsing "123" as a decimal would produce
-- -123, not 123.
nonPositive :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-positive number written in the specified positional
-- numeral system. Leading zeroes are not allowed.
npCompact :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-positive number written in the specified positional
-- numeral system (up to n digits).
npUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a non-positive number written in the specified positional
-- numeral system (up to n digits). Leading zeroes are not
-- allowed.
npcUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a non-positive number written in the specified positional
-- numeral system, failing on overflow.
npBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-positive number written in the specified positional
-- numeral system, failing on overflow. Leading zeroes are not allowed.
npcBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-positive two's complement binary number written in the
-- specified positional numeral system.
npBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-positive two's complement binary number written in the
-- specified positional numeral system. Leading zeroes are not allowed.
npcBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-positive two's complement binary number written in the
-- specified positional numeral system (up to n digits).
npBitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a non-positive two's complement binary number written in the
-- specified positional numeral system (up to n digits). Leading
-- zeroes are not allowed.
npcBitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a non-positive two's complement binary number written in the
-- specified positional numeral system, failing on overflow.
npbBits :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a non-positive two's complement binary number written in the
-- specified positional numeral system, failing on overflow. Leading
-- zeroes are not allowed.
npcbBits :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
-- | Sign of a number.
data Sign
NonNegative :: Sign
NonPositive :: Sign
-- | Negate the supplied value if the sign is NonPositive and return
-- it as it is otherwise.
applySign :: Num α => Sign -> α -> α
-- | Optional minus sign.
optMinus :: CharParsing μ => μ Sign
-- | Optional minus or plus sign.
optSign :: CharParsing μ => μ Sign
-- | Parse a number written in the specified positional numeral system. The
-- supplied parser is used to determine the sign of the number.
number' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
-- | A shorthand for number' optMinus.
number :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a number written in the specified positional numeral system. The
-- supplied parser is used to determine the sign of the number. Leading
-- zeroes are not allowed.
compact' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
-- | A shorthand for compact' optMinus.
compact :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a number written in the specified positional numeral system (up
-- to n digits). The supplied parser is used to determine the sign
-- of the number.
numberUpTo' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> s -> Int -> μ α
-- | A shorthand for numberUpTo' optMinus.
numberUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a number written in the specified positional numeral system (up
-- to n digits). The supplied parser is used to determine the sign
-- of the number. Leading zeroes are not allowed.
compactUpTo' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> s -> Int -> μ α
-- | A shorthand for compactUpTo' optMinus.
compactUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a number written in the specified positional numeral system,
-- failing on overflow. The supplied parser is used to determine the sign
-- of the number.
bounded' :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
-- | A shorthand for bounded' optMinus.
bounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a number written in the specified positional numeral system,
-- failing on overflow. The supplied parser is used to determine the sign
-- of the number. Leading zeroes are not allowed.
cBounded' :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
-- | A shorthand for cBounded' optMinus.
cBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a (two's complement) binary number written in the specified
-- positional numeral system. The supplied parser is used to determine
-- the sign of the number.
bits' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
-- | A shorthand for bits' optMinus.
bits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a (two's complement) binary number written in the specified
-- positional numeral system. The supplied parser is used to determine
-- the sign of the number. Leading zeroes are not allowed.
cBits' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
-- | A shorthand for cBits' optMinus.
cBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a (two's complement) binary number written in the specified
-- positional numeral system (up to n digits). The supplied parser
-- is used to determine the sign of the number.
bitsUpTo' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> Int -> μ α
-- | A shorthand for bitsUpTo' optMinus.
bitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a (two's complement) binary number written in the specified
-- positional numeral system (up to n digits). The supplied parser
-- is used to determine the sign of the number. Leading zeroes are not
-- allowed.
cBitsUpTo' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> Int -> μ α
-- | A shorthand for cBitsUpTo' optMinus.
cBitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
-- | Parse a (two's complement) binary number written in the specified
-- positional numeral system, failing on overflow. The supplied parser is
-- used to determine the sign of the number.
bBits' :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
-- | A shorthand for bBits' optMinus.
bBits :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
-- | Parse a (two's complement) binary number written in the specified
-- positional numeral system, failing on overflow. The supplied parser is
-- used to determine the sign of the number. Leading zeroes are not
-- allowed.
cbBits' :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
-- | A shorthand for cbBits' optMinus.
cbBits :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
instance Typeable Sign
instance Eq Sign
instance Show Sign
instance Read Sign
-- | Parsers for fractions.
module Data.Textual.Fractional
-- | Positional numeral system.
class PositionalSystem s
systemName :: PositionalSystem s => s -> String
radixIn :: (PositionalSystem s, Num α) => s -> α
isDigitIn :: PositionalSystem s => s -> Char -> Bool
isNzDigitIn :: PositionalSystem s => s -> Char -> Bool
fromDigitIn :: (PositionalSystem s, Num α) => s -> Char -> Maybe α
fromNzDigitIn :: (PositionalSystem s, Num α) => s -> Char -> Maybe α
unsafeFromDigitIn :: (PositionalSystem s, Num α) => s -> Char -> α
intToDigitIn :: PositionalSystem s => s -> Int -> Char
printDigitIn :: (PositionalSystem s, Printer p) => s -> Char -> p
printZeroIn :: (PositionalSystem s, Printer p) => s -> p
-- | The binary numeral system.
data Binary :: *
Binary :: Binary
-- | The octal numeral system.
data Octal :: *
Octal :: Octal
-- | The decimal numeral system.
data Decimal :: *
Decimal :: Decimal
-- | The hexadecimal numeral system.
data Hexadecimal :: *
Hexadecimal :: Hexadecimal
-- | The hexadecimal numeral system, using upper case digits.
data UpHex :: *
UpHex :: UpHex
-- | The hexadecimal numeral system, using lower case digits.
data LowHex :: *
LowHex :: LowHex
-- | Sign of a number.
data Sign
NonNegative :: Sign
NonPositive :: Sign
-- | Negate the supplied value if the sign is NonPositive and return
-- it as it is otherwise.
applySign :: Num α => Sign -> α -> α
-- | Optional minus sign.
optMinus :: CharParsing μ => μ Sign
-- | Optional minus or plus sign.
optSign :: CharParsing μ => μ Sign
-- | Optionality characteristic.
data Optional :: *
Optional :: Optional
Required :: Optional
-- | True if the supplied value is Optional and false otherwise.
isOptional :: Optional -> Bool
-- | True if the supplied value is Required and false otherwise.
isRequired :: Optional -> Bool
-- | Accept a slash and return Required. Otherwise return
-- Optional.
optSlash :: (Monad μ, CharParsing μ) => μ Optional
-- | Parse a fraction. The numerator and the denominator are expected to be
-- written in the specified positional numeral system.
fraction' :: (PositionalSystem s, Fractional α, Monad μ, CharParsing μ) => μ Sign -> s -> μ Optional -> μ α
-- | A shorthand for fraction' optMinus Decimal
-- optSlash.
fraction :: (Fractional α, Monad μ, CharParsing μ) => μ α
-- | Start of a decimal exponent. Accepts 'e' or 'E' followed
-- by an optional sign. Otherwise Nothing is returned.
decExpSign :: (Monad μ, CharParsing μ) => μ (Maybe Sign)
-- | Start of a hexadecimal exponent. Accepts 'p' or 'P'
-- followed by an optional sign. Otherwise Nothing is returned.
hexExpSign :: (Monad μ, CharParsing μ) => μ (Maybe Sign)
-- | s-fraction parser.
fractional' :: (PositionalSystem s, Fractional α, Monad μ, CharParsing μ) => μ Sign -> s -> Optional -> μ () -> μ (Maybe Sign) -> μ α
-- | Decimal fraction parser.
fractional :: (Monad μ, Fractional α, CharParsing μ) => μ α
-- | Working with human-friendly (as opposed to the compiler-friendly
-- Show and Read) textual representations.
module Data.Textual
-- | The default printer for values of a type.
class Printable α
print :: (Printable α, Printer p) => α -> p
-- | A shorthand for maybe mempty print.
maybePrint :: (Printer p, Printable α) => Maybe α -> p
-- | A shorthand for buildString . print.
toString :: Printable α => α -> String
-- | A shorthand for buildText . print.
toText :: Printable α => α -> Text
-- | A shorthand for buildLazyText . print.
toLazyText :: Printable α => α -> Text
-- | A shorthand for buildAscii . print.
toAscii :: Printable α => α -> ByteString
-- | A shorthand for buildLazyAscii . print.
toLazyAscii :: Printable α => α -> ByteString
-- | A shorthand for buildUtf8 . print.
toUtf8 :: Printable α => α -> ByteString
-- | A shorthand for buildLazyUtf8 . print.
toLazyUtf8 :: Printable α => α -> ByteString
-- | The default parser for values of a type, must satisfy
-- fromString (toString x) = Just x
--
class Printable α => Textual α
textual :: (Textual α, Monad μ, CharParsing μ) => μ α
-- | Parsing result.
data Parsed α
Parsed :: α -> Parsed α
Malformed :: [String] -> String -> Parsed α
-- | Map Parsed to True and Malformed to False.
isParsed :: Parsed α -> Bool
-- | Map Parsed to False and Malformed to True.
isMalformed :: Parsed α -> Bool
-- | Map Parsed values to Just and Malformed to
-- Nothing.
maybeParsed :: Parsed α -> Maybe α
-- | Use the built-in parser to parse a string. Intended for testing only.
builtInParser :: (forall μ. (Monad μ, CharParsing μ) => μ α) -> String -> Parsed α
-- | Parse a String to extract the Textual value.
parseString :: Textual α => String -> Parsed α
-- | Provide a hint for the type system when using parseString.
parseStringAs :: Textual α => p α -> String -> Parsed α
-- | Parse a Text to extract the Textual value.
parseText :: Textual α => Text -> Parsed α
-- | Provide a hint for the type system when using parseText.
parseTextAs :: Textual α => p α -> Text -> Parsed α
-- | Parse a lazy Text to extract the Textual value.
parseLazyText :: Textual α => Text -> Parsed α
-- | Provide a hint for the type system when using parseLazyText.
parseLazyTextAs :: Textual α => p α -> Text -> Parsed α
-- | Decode and parse an ASCII ByteString to extract the
-- Textual value.
parseAscii :: Textual α => ByteString -> Parsed α
-- | Provide a hint for the type system when using parseAscii.
parseAsciiAs :: Textual α => p α -> ByteString -> Parsed α
-- | Decode and parse a lazy ASCII ByteString to extract the
-- Textual value.
parseLazyAscii :: Textual α => ByteString -> Parsed α
-- | Provide a hint for the type system when using parseLazyAscii.
parseLazyAsciiAs :: Textual α => ByteString -> Parsed α
-- | Decode and parse a UTF-8 ByteString to extract the
-- Textual value.
parseUtf8 :: Textual α => ByteString -> Parsed α
-- | Provide a hint for the type system when using parseUtf8.
parseUtf8As :: Textual α => p α -> ByteString -> Parsed α
-- | Decode and parse a lazy UTF-8 ByteString to extract the
-- Textual value.
parseLazyUtf8 :: Textual α => ByteString -> Parsed α
-- | Provide a hint for the type system when using parseLazyUtf8.
parseLazyUtf8As :: Textual α => p α -> ByteString -> Parsed α
-- | A shorthand for maybeParsed . parseString
fromString :: Textual α => String -> Maybe α
-- | Provide a hint for the type system when using fromString.
fromStringAs :: Textual α => p α -> String -> Maybe α
-- | A shorthand for maybeParsed . parseText
fromText :: Textual α => Text -> Maybe α
-- | Provide a hint for the type system when using fromText.
fromTextAs :: Textual α => p α -> Text -> Maybe α
-- | A shorthand for maybeParsed . parseLazyText
fromLazyText :: Textual α => Text -> Maybe α
-- | Provide a hint for the type system when using fromLazyText.
fromLazyTextAs :: Textual α => p α -> Text -> Maybe α
-- | A shorthand for maybeParsed . parseAscii
fromAscii :: Textual α => ByteString -> Maybe α
-- | Provide a hint for the type system when using fromAscii.
fromAsciiAs :: Textual α => p α -> ByteString -> Maybe α
-- | A shorthand for maybeParsed . parseLazyAscii
fromLazyAscii :: Textual α => ByteString -> Maybe α
-- | Provide a hint for the type system when using fromLazyAscii.
fromLazyAsciiAs :: Textual α => p α -> ByteString -> Maybe α
-- | A shorthand for maybeParsed . parseUtf8
fromUtf8 :: Textual α => ByteString -> Maybe α
-- | Provide a hint for the type system when using fromUtf8.
fromUtf8As :: Textual α => p α -> ByteString -> Maybe α
-- | A shorthand for maybeParsed . parseLazyUtf8
fromLazyUtf8 :: Textual α => ByteString -> Maybe α
-- | Provide a hint for the type system when using fromLazyUtf8.
fromLazyUtf8As :: Textual α => p α -> ByteString -> Maybe α
instance Typeable1 Parsed
instance Functor Parsed
instance Foldable Parsed
instance Traversable Parsed
instance Eq α => Eq (Parsed α)
instance Show α => Show (Parsed α)
instance Monad Parser
instance CharParsing Parser
instance Parsing Parser
instance Alternative Parser
instance Applicative Parser
instance Functor Parser
instance Alternative Parsed
instance Applicative Parsed
instance HasResolution α => Textual (Fixed α)
instance Integral α => Textual (Ratio α)
instance Textual Word64
instance Textual Word32
instance Textual Word16
instance Textual Word8
instance Textual Word
instance Textual Int64
instance Textual Int32
instance Textual Int16
instance Textual Int8
instance Textual Int
instance Textual Integer
instance Textual Char
instance Printable Double
instance Printable Float
instance HasResolution α => Printable (Fixed α)
instance Integral α => Printable (Ratio α)
instance Printable Word64
instance Printable Word32
instance Printable Word16
instance Printable Word8
instance Printable Word
instance Printable Int64
instance Printable Int32
instance Printable Int16
instance Printable Int8
instance Printable Int
instance Printable Integer
instance Printable Text
instance Printable Text
instance Printable String
instance Printable Char