data-textual-0.3.0.2: Human-friendly textual representations.

Safe Haskell | None
Language | Haskell2010

Data.Textual.Integral

Contents

- Positional numeral systems
- Single digits
- Numbers

Description

Parsers for integral numbers written in positional numeral systems.

Synopsis

- class PositionalSystem s where
- class PositionalSystem s => BitSystem s where
- data Binary :: * = Binary
- data Octal :: * = Octal
- data Decimal :: * = Decimal
- data Hexadecimal :: * = Hexadecimal
- data LowHex :: * = LowHex
- data UpHex :: * = UpHex
- digitIn :: (PositionalSystem s, Num α, CharParsing μ) => s -> μ α
- nzDigitIn :: (PositionalSystem s, Num α, CharParsing μ) => s -> μ α
- binDigit :: (Num α, CharParsing μ) => μ α
- nzBinDigit :: (Num α, CharParsing μ) => μ α
- octDigit :: (Num α, CharParsing μ) => μ α
- nzOctDigit :: (Num α, CharParsing μ) => μ α
- decDigit :: (Num α, CharParsing μ) => μ α
- nzDecDigit :: (Num α, CharParsing μ) => μ α
- hexDigit :: (Num α, CharParsing μ) => μ α
- nzHexDigit :: (Num α, CharParsing μ) => μ α
- lowHexDigit :: (Num α, CharParsing μ) => μ α
- nzLowHexDigit :: (Num α, CharParsing μ) => μ α
- upHexDigit :: (Num α, CharParsing μ) => μ α
- nzUpHexDigit :: (Num α, CharParsing μ) => μ α
- nonNegative :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
- nnCompact :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
- nnUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
- nncUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
- nnBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
- nncBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
- nnBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
- nncBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
- nnBitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
- nncBitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
- nnbBits :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
- nncbBits :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
- nonPositive :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
- npCompact :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
- npUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
- npcUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
- npBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
- npcBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
- npBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
- npcBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
- npBitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
- npcBitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
- npbBits :: forall s μ α. (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
- npcbBits :: forall s μ α. (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
- data Sign
  - = NonNegative
  - | NonPositive
- applySign :: Num α => Sign -> α -> α
- optMinus :: CharParsing μ => μ Sign
- optSign :: CharParsing μ => μ Sign
- number' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
- number :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
- compact' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
- compact :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α
- numberUpTo' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> s -> Int -> μ α
- numberUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
- compactUpTo' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> s -> Int -> μ α
- compactUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α
- bounded' :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
- bounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
- cBounded' :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
- cBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α
- bits' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
- bits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
- cBits' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
- cBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
- bitsUpTo' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> Int -> μ α
- bitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
- cBitsUpTo' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> Int -> μ α
- cBitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α
- bBits' :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
- bBits :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α
- cbBits' :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α
- cbBits :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α

# Positional numeral systems

class PositionalSystem s where #

Positional numeral system.

Minimal complete definition

systemName, radixIn, isDigitIn, isNzDigitIn, fromDigitIn, fromNzDigitIn, unsafeFromDigitIn, intToDigitIn

Methods

systemName :: s -> String #

The name of the system (e.g. "binary", "decimal").

radixIn :: Num α => s -> α #

The radix of the system.

isDigitIn :: s -> Char -> Bool #

Test if a character is a digit.

isNzDigitIn :: s -> Char -> Bool #

Test if a character is a non-zero digit.

fromDigitIn :: Num α => s -> Char -> Maybe α #

Map digits to the corresponding numbers. Return `Nothing` on other inputs.

fromNzDigitIn :: Num α => s -> Char -> Maybe α #

Map non-zero digits to the corresponding numbers. Return `Nothing` on other inputs.

unsafeFromDigitIn :: Num α => s -> Char -> α #

Map digits to the corresponding numbers. No checks are performed.

intToDigitIn :: s -> Int -> Char #

Map `Int` values to the corresponding digits. Inputs must be non-negative and less than the radix.

printDigitIn :: Printer p => s -> Char -> p #

Print a digit.

printZeroIn :: Printer p => s -> p #

Instances

PositionalSystem Binary |
Methods systemName :: Binary -> String # radixIn :: Num α => Binary -> α # isDigitIn :: Binary -> Char -> Bool # isNzDigitIn :: Binary -> Char -> Bool # fromDigitIn :: Num α => Binary -> Char -> Maybe α # fromNzDigitIn :: Num α => Binary -> Char -> Maybe α # unsafeFromDigitIn :: Num α => Binary -> Char -> α # intToDigitIn :: Binary -> Int -> Char # printDigitIn :: Printer p => Binary -> Char -> p # printZeroIn :: Printer p => Binary -> p #
PositionalSystem Octal |
Methods systemName :: Octal -> String # radixIn :: Num α => Octal -> α # isDigitIn :: Octal -> Char -> Bool # isNzDigitIn :: Octal -> Char -> Bool # fromDigitIn :: Num α => Octal -> Char -> Maybe α # fromNzDigitIn :: Num α => Octal -> Char -> Maybe α # unsafeFromDigitIn :: Num α => Octal -> Char -> α # intToDigitIn :: Octal -> Int -> Char # printDigitIn :: Printer p => Octal -> Char -> p # printZeroIn :: Printer p => Octal -> p #
PositionalSystem Decimal |
Methods systemName :: Decimal -> String # radixIn :: Num α => Decimal -> α # isDigitIn :: Decimal -> Char -> Bool # isNzDigitIn :: Decimal -> Char -> Bool # fromDigitIn :: Num α => Decimal -> Char -> Maybe α # fromNzDigitIn :: Num α => Decimal -> Char -> Maybe α # unsafeFromDigitIn :: Num α => Decimal -> Char -> α # intToDigitIn :: Decimal -> Int -> Char # printDigitIn :: Printer p => Decimal -> Char -> p # printZeroIn :: Printer p => Decimal -> p #
PositionalSystem Hexadecimal |
Methods systemName :: Hexadecimal -> String # radixIn :: Num α => Hexadecimal -> α # isDigitIn :: Hexadecimal -> Char -> Bool # isNzDigitIn :: Hexadecimal -> Char -> Bool # fromDigitIn :: Num α => Hexadecimal -> Char -> Maybe α # fromNzDigitIn :: Num α => Hexadecimal -> Char -> Maybe α # unsafeFromDigitIn :: Num α => Hexadecimal -> Char -> α # intToDigitIn :: Hexadecimal -> Int -> Char # printDigitIn :: Printer p => Hexadecimal -> Char -> p # printZeroIn :: Printer p => Hexadecimal -> p #
PositionalSystem LowHex |
Methods systemName :: LowHex -> String # radixIn :: Num α => LowHex -> α # isDigitIn :: LowHex -> Char -> Bool # isNzDigitIn :: LowHex -> Char -> Bool # fromDigitIn :: Num α => LowHex -> Char -> Maybe α # fromNzDigitIn :: Num α => LowHex -> Char -> Maybe α # unsafeFromDigitIn :: Num α => LowHex -> Char -> α # intToDigitIn :: LowHex -> Int -> Char # printDigitIn :: Printer p => LowHex -> Char -> p # printZeroIn :: Printer p => LowHex -> p #
PositionalSystem UpHex |
Methods systemName :: UpHex -> String # radixIn :: Num α => UpHex -> α # isDigitIn :: UpHex -> Char -> Bool # isNzDigitIn :: UpHex -> Char -> Bool # fromDigitIn :: Num α => UpHex -> Char -> Maybe α # fromNzDigitIn :: Num α => UpHex -> Char -> Maybe α # unsafeFromDigitIn :: Num α => UpHex -> Char -> α # intToDigitIn :: UpHex -> Int -> Char # printDigitIn :: Printer p => UpHex -> Char -> p # printZeroIn :: Printer p => UpHex -> p #

class PositionalSystem s => BitSystem s where #

Positonal numeral system with a power of two radix.

Minimal complete definition

digitBitsIn, digitMaskIn, lastDigitIn

Methods

digitBitsIn :: s -> Int #

Numer of bits occupied by a digit.

digitMaskIn :: Num α => s -> α #

The number that has `digitBitsIn` least significant bits set to ones and all the other bits set to zeroes.

lastDigitIn :: Bits α => s -> α -> Int #

Map the last digit of a number to the corresponding `Int` value.

Instances

BitSystem Binary |
Methods digitBitsIn :: Binary -> Int # digitMaskIn :: Num α => Binary -> α # lastDigitIn :: Bits α => Binary -> α -> Int #
BitSystem Octal |
Methods digitBitsIn :: Octal -> Int # digitMaskIn :: Num α => Octal -> α # lastDigitIn :: Bits α => Octal -> α -> Int #
BitSystem Hexadecimal |
Methods digitBitsIn :: Hexadecimal -> Int # digitMaskIn :: Num α => Hexadecimal -> α # lastDigitIn :: Bits α => Hexadecimal -> α -> Int #
BitSystem LowHex |
Methods digitBitsIn :: LowHex -> Int # digitMaskIn :: Num α => LowHex -> α # lastDigitIn :: Bits α => LowHex -> α -> Int #
BitSystem UpHex |
Methods digitBitsIn :: UpHex -> Int # digitMaskIn :: Num α => UpHex -> α # lastDigitIn :: Bits α => UpHex -> α -> Int #

data Binary :: * #

The binary numeral system.

Constructors

Binary |

Instances

Eq Binary |
Methods (==) :: Binary -> Binary -> Bool # (/=) :: Binary -> Binary -> Bool #
Ord Binary |
Methods compare :: Binary -> Binary -> Ordering # (<) :: Binary -> Binary -> Bool # (<=) :: Binary -> Binary -> Bool # (>) :: Binary -> Binary -> Bool # (>=) :: Binary -> Binary -> Bool # max :: Binary -> Binary -> Binary # min :: Binary -> Binary -> Binary #
Read Binary |
Methods readsPrec :: Int -> ReadS Binary # readList :: ReadS [Binary] # readPrec :: ReadPrec Binary # readListPrec :: ReadPrec [Binary] #
Show Binary |
Methods showsPrec :: Int -> Binary -> ShowS # show :: Binary -> String # showList :: [Binary] -> ShowS #
Generic Binary |
Associated Types type Rep Binary :: * -> * # Methods from :: Binary -> Rep Binary x # to :: Rep Binary x -> Binary #
PositionalSystem Binary |
Methods systemName :: Binary -> String # radixIn :: Num α => Binary -> α # isDigitIn :: Binary -> Char -> Bool # isNzDigitIn :: Binary -> Char -> Bool # fromDigitIn :: Num α => Binary -> Char -> Maybe α # fromNzDigitIn :: Num α => Binary -> Char -> Maybe α # unsafeFromDigitIn :: Num α => Binary -> Char -> α # intToDigitIn :: Binary -> Int -> Char # printDigitIn :: Printer p => Binary -> Char -> p # printZeroIn :: Printer p => Binary -> p #
BitSystem Binary |
Methods digitBitsIn :: Binary -> Int # digitMaskIn :: Num α => Binary -> α # lastDigitIn :: Bits α => Binary -> α -> Int #
type Rep Binary |
type Rep Binary = D1 (MetaData "Binary" "Text.Printer.Integral" "text-printer-0.5-GUjVFi9dz4eFhZWiAdkvhT" False) (C1 (MetaCons "Binary" PrefixI False) U1)

data Octal :: * #

The octal numeral system.

Constructors

Octal |

Instances

Eq Octal |
Methods (==) :: Octal -> Octal -> Bool # (/=) :: Octal -> Octal -> Bool #
Ord Octal |
Methods compare :: Octal -> Octal -> Ordering # (<) :: Octal -> Octal -> Bool # (<=) :: Octal -> Octal -> Bool # (>) :: Octal -> Octal -> Bool # (>=) :: Octal -> Octal -> Bool # max :: Octal -> Octal -> Octal # min :: Octal -> Octal -> Octal #
Read Octal |
Methods readsPrec :: Int -> ReadS Octal # readList :: ReadS [Octal] # readPrec :: ReadPrec Octal # readListPrec :: ReadPrec [Octal] #
Show Octal |
Methods showsPrec :: Int -> Octal -> ShowS # show :: Octal -> String # showList :: [Octal] -> ShowS #
Generic Octal |
Associated Types type Rep Octal :: * -> * # Methods from :: Octal -> Rep Octal x # to :: Rep Octal x -> Octal #
PositionalSystem Octal |
Methods systemName :: Octal -> String # radixIn :: Num α => Octal -> α # isDigitIn :: Octal -> Char -> Bool # isNzDigitIn :: Octal -> Char -> Bool # fromDigitIn :: Num α => Octal -> Char -> Maybe α # fromNzDigitIn :: Num α => Octal -> Char -> Maybe α # unsafeFromDigitIn :: Num α => Octal -> Char -> α # intToDigitIn :: Octal -> Int -> Char # printDigitIn :: Printer p => Octal -> Char -> p # printZeroIn :: Printer p => Octal -> p #
BitSystem Octal |
Methods digitBitsIn :: Octal -> Int # digitMaskIn :: Num α => Octal -> α # lastDigitIn :: Bits α => Octal -> α -> Int #
type Rep Octal |
type Rep Octal = D1 (MetaData "Octal" "Text.Printer.Integral" "text-printer-0.5-GUjVFi9dz4eFhZWiAdkvhT" False) (C1 (MetaCons "Octal" PrefixI False) U1)

data Decimal :: * #

The decimal numeral system.

Constructors

Decimal |

Instances

Eq Decimal |
Methods (==) :: Decimal -> Decimal -> Bool # (/=) :: Decimal -> Decimal -> Bool #
Ord Decimal |
Methods compare :: Decimal -> Decimal -> Ordering # (<) :: Decimal -> Decimal -> Bool # (<=) :: Decimal -> Decimal -> Bool # (>) :: Decimal -> Decimal -> Bool # (>=) :: Decimal -> Decimal -> Bool # max :: Decimal -> Decimal -> Decimal # min :: Decimal -> Decimal -> Decimal #
Read Decimal |
Methods readsPrec :: Int -> ReadS Decimal # readList :: ReadS [Decimal] # readPrec :: ReadPrec Decimal # readListPrec :: ReadPrec [Decimal] #
Show Decimal |
Methods showsPrec :: Int -> Decimal -> ShowS # show :: Decimal -> String # showList :: [Decimal] -> ShowS #
Generic Decimal |
Associated Types type Rep Decimal :: * -> * # Methods from :: Decimal -> Rep Decimal x # to :: Rep Decimal x -> Decimal #
PositionalSystem Decimal |
Methods systemName :: Decimal -> String # radixIn :: Num α => Decimal -> α # isDigitIn :: Decimal -> Char -> Bool # isNzDigitIn :: Decimal -> Char -> Bool # fromDigitIn :: Num α => Decimal -> Char -> Maybe α # fromNzDigitIn :: Num α => Decimal -> Char -> Maybe α # unsafeFromDigitIn :: Num α => Decimal -> Char -> α # intToDigitIn :: Decimal -> Int -> Char # printDigitIn :: Printer p => Decimal -> Char -> p # printZeroIn :: Printer p => Decimal -> p #
type Rep Decimal |
type Rep Decimal = D1 (MetaData "Decimal" "Text.Printer.Integral" "text-printer-0.5-GUjVFi9dz4eFhZWiAdkvhT" False) (C1 (MetaCons "Decimal" PrefixI False) U1)

data Hexadecimal :: * #

The hexadecimal numeral system.

Constructors

Hexadecimal |

Instances

Eq Hexadecimal |
Methods (==) :: Hexadecimal -> Hexadecimal -> Bool # (/=) :: Hexadecimal -> Hexadecimal -> Bool #
Ord Hexadecimal |
Methods compare :: Hexadecimal -> Hexadecimal -> Ordering # (<) :: Hexadecimal -> Hexadecimal -> Bool # (<=) :: Hexadecimal -> Hexadecimal -> Bool # (>) :: Hexadecimal -> Hexadecimal -> Bool # (>=) :: Hexadecimal -> Hexadecimal -> Bool # max :: Hexadecimal -> Hexadecimal -> Hexadecimal # min :: Hexadecimal -> Hexadecimal -> Hexadecimal #
Read Hexadecimal |
Methods readsPrec :: Int -> ReadS Hexadecimal # readList :: ReadS [Hexadecimal] # readPrec :: ReadPrec Hexadecimal # readListPrec :: ReadPrec [Hexadecimal] #
Show Hexadecimal |
Methods showsPrec :: Int -> Hexadecimal -> ShowS # show :: Hexadecimal -> String # showList :: [Hexadecimal] -> ShowS #
Generic Hexadecimal |
Associated Types type Rep Hexadecimal :: * -> * # Methods from :: Hexadecimal -> Rep Hexadecimal x # to :: Rep Hexadecimal x -> Hexadecimal #
PositionalSystem Hexadecimal |
Methods systemName :: Hexadecimal -> String # radixIn :: Num α => Hexadecimal -> α # isDigitIn :: Hexadecimal -> Char -> Bool # isNzDigitIn :: Hexadecimal -> Char -> Bool # fromDigitIn :: Num α => Hexadecimal -> Char -> Maybe α # fromNzDigitIn :: Num α => Hexadecimal -> Char -> Maybe α # unsafeFromDigitIn :: Num α => Hexadecimal -> Char -> α # intToDigitIn :: Hexadecimal -> Int -> Char # printDigitIn :: Printer p => Hexadecimal -> Char -> p # printZeroIn :: Printer p => Hexadecimal -> p #
BitSystem Hexadecimal |
Methods digitBitsIn :: Hexadecimal -> Int # digitMaskIn :: Num α => Hexadecimal -> α # lastDigitIn :: Bits α => Hexadecimal -> α -> Int #
type Rep Hexadecimal |
type Rep Hexadecimal = D1 (MetaData "Hexadecimal" "Text.Printer.Integral" "text-printer-0.5-GUjVFi9dz4eFhZWiAdkvhT" False) (C1 (MetaCons "Hexadecimal" PrefixI False) U1)

data LowHex :: * #

The hexadecimal numeral system, using lower case digits.

Constructors

LowHex |

Instances

Eq LowHex |
Methods (==) :: LowHex -> LowHex -> Bool # (/=) :: LowHex -> LowHex -> Bool #
Ord LowHex |
Methods compare :: LowHex -> LowHex -> Ordering # (<) :: LowHex -> LowHex -> Bool # (<=) :: LowHex -> LowHex -> Bool # (>) :: LowHex -> LowHex -> Bool # (>=) :: LowHex -> LowHex -> Bool # max :: LowHex -> LowHex -> LowHex # min :: LowHex -> LowHex -> LowHex #
Read LowHex |
Methods readsPrec :: Int -> ReadS LowHex # readList :: ReadS [LowHex] # readPrec :: ReadPrec LowHex # readListPrec :: ReadPrec [LowHex] #
Show LowHex |
Methods showsPrec :: Int -> LowHex -> ShowS # show :: LowHex -> String # showList :: [LowHex] -> ShowS #
Generic LowHex |
Associated Types type Rep LowHex :: * -> * # Methods from :: LowHex -> Rep LowHex x # to :: Rep LowHex x -> LowHex #
PositionalSystem LowHex |
Methods systemName :: LowHex -> String # radixIn :: Num α => LowHex -> α # isDigitIn :: LowHex -> Char -> Bool # isNzDigitIn :: LowHex -> Char -> Bool # fromDigitIn :: Num α => LowHex -> Char -> Maybe α # fromNzDigitIn :: Num α => LowHex -> Char -> Maybe α # unsafeFromDigitIn :: Num α => LowHex -> Char -> α # intToDigitIn :: LowHex -> Int -> Char # printDigitIn :: Printer p => LowHex -> Char -> p # printZeroIn :: Printer p => LowHex -> p #
BitSystem LowHex |
Methods digitBitsIn :: LowHex -> Int # digitMaskIn :: Num α => LowHex -> α # lastDigitIn :: Bits α => LowHex -> α -> Int #
type Rep LowHex |
type Rep LowHex = D1 (MetaData "LowHex" "Text.Printer.Integral" "text-printer-0.5-GUjVFi9dz4eFhZWiAdkvhT" False) (C1 (MetaCons "LowHex" PrefixI False) U1)

data UpHex :: * #

The hexadecimal numeral system, using upper case digits.

Constructors

UpHex |

Instances

Eq UpHex |
Methods (==) :: UpHex -> UpHex -> Bool # (/=) :: UpHex -> UpHex -> Bool #
Ord UpHex |
Methods compare :: UpHex -> UpHex -> Ordering # (<) :: UpHex -> UpHex -> Bool # (<=) :: UpHex -> UpHex -> Bool # (>) :: UpHex -> UpHex -> Bool # (>=) :: UpHex -> UpHex -> Bool # max :: UpHex -> UpHex -> UpHex # min :: UpHex -> UpHex -> UpHex #
Read UpHex |
Methods readsPrec :: Int -> ReadS UpHex # readList :: ReadS [UpHex] # readPrec :: ReadPrec UpHex # readListPrec :: ReadPrec [UpHex] #
Show UpHex |
Methods showsPrec :: Int -> UpHex -> ShowS # show :: UpHex -> String # showList :: [UpHex] -> ShowS #
Generic UpHex |
Associated Types type Rep UpHex :: * -> * # Methods from :: UpHex -> Rep UpHex x # to :: Rep UpHex x -> UpHex #
PositionalSystem UpHex |
Methods systemName :: UpHex -> String # radixIn :: Num α => UpHex -> α # isDigitIn :: UpHex -> Char -> Bool # isNzDigitIn :: UpHex -> Char -> Bool # fromDigitIn :: Num α => UpHex -> Char -> Maybe α # fromNzDigitIn :: Num α => UpHex -> Char -> Maybe α # unsafeFromDigitIn :: Num α => UpHex -> Char -> α # intToDigitIn :: UpHex -> Int -> Char # printDigitIn :: Printer p => UpHex -> Char -> p # printZeroIn :: Printer p => UpHex -> p #
BitSystem UpHex |
Methods digitBitsIn :: UpHex -> Int # digitMaskIn :: Num α => UpHex -> α # lastDigitIn :: Bits α => UpHex -> α -> Int #
type Rep UpHex |
type Rep UpHex = D1 (MetaData "UpHex" "Text.Printer.Integral" "text-printer-0.5-GUjVFi9dz4eFhZWiAdkvhT" False) (C1 (MetaCons "UpHex" PrefixI False) U1)

# Single digits

digitIn :: (PositionalSystem s, Num α, CharParsing μ) => s -> μ α #

Parse a digit of the specified positional numeral system.

nzDigitIn :: (PositionalSystem s, Num α, CharParsing μ) => s -> μ α #

Parse a non-zero digit of the specified positional numeral system.

binDigit :: (Num α, CharParsing μ) => μ α #

Parse a binary digit.

nzBinDigit :: (Num α, CharParsing μ) => μ α #

Parse a non-zero binary digit ('1').

octDigit :: (Num α, CharParsing μ) => μ α #

Parse an octal digit.

nzOctDigit :: (Num α, CharParsing μ) => μ α #

Parse a non-zero octal digit.

decDigit :: (Num α, CharParsing μ) => μ α #

Parse a decimal digit.

nzDecDigit :: (Num α, CharParsing μ) => μ α #

Parse a non-zero decimal digit.

hexDigit :: (Num α, CharParsing μ) => μ α #

Parse a hexadecimal digit.

nzHexDigit :: (Num α, CharParsing μ) => μ α #

Parse a non-zero hexadecimal digit.

lowHexDigit :: (Num α, CharParsing μ) => μ α #

Parse a lower case hexadecimal digit.

nzLowHexDigit :: (Num α, CharParsing μ) => μ α #

Parse a non-zero lower case hexadecimal digit.

upHexDigit :: (Num α, CharParsing μ) => μ α #

Parse an upper case hexadecimal digit.

nzUpHexDigit :: (Num α, CharParsing μ) => μ α #

Parse a non-zero upper case hexadecimal digit.

# Numbers

nonNegative :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α #

Parse a non-negative number written in the specified positional numeral system.

nnCompact :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α #

Parse a non-negative number written in the specified positional numeral system. Leading zeroes are not allowed.

nnUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α #

Parse a non-negative number written in the specified positional numeral system (up to n digits).

nncUpTo :: (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.

nnBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α #

Parse a non-negative number written in the specified positional numeral system, failing on overflow.

nncBounded :: (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.

nnBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α #

Parse a non-negative binary number written in the specified positional numeral system.

nncBits :: (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.

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).

nncBitsUpTo :: (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.

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.

nncbBits :: (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.

nonPositive :: (PositionalSystem s, Num α, 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.

npCompact :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> μ α #

Parse a non-positive number written in the specified positional numeral system. Leading zeroes are not allowed.

npUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α #

Parse a non-positive number written in the specified positional numeral system (up to n digits).

npcUpTo :: (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.

npBounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α #

Parse a non-positive number written in the specified positional numeral system, failing on overflow.

npcBounded :: (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.

npBits :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α #

Parse a non-positive two's complement binary number written in the specified positional numeral system.

npcBits :: (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.

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).

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 (up to n digits). Leading zeroes are not allowed.

npbBits :: forall s μ α. (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.

npcbBits :: forall s μ α. (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.

data Sign #

Sign of a number.

Constructors

NonNegative |
NonPositive |

Instances

Eq Sign # |
Methods (==) :: Sign -> Sign -> Bool # (/=) :: Sign -> Sign -> Bool #
Read Sign # |
Methods readsPrec :: Int -> ReadS Sign # readList :: ReadS [Sign] # readPrec :: ReadPrec Sign # readListPrec :: ReadPrec [Sign] #
Show Sign # |
Methods showsPrec :: Int -> Sign -> ShowS # show :: Sign -> String # showList :: [Sign] -> ShowS #

applySign :: Num α => Sign -> α -> α #

Negate the supplied value if the sign is `NonPositive` and return it as it is otherwise.

optMinus :: CharParsing μ => μ Sign #

Optional minus sign.

optSign :: CharParsing μ => μ Sign #

Optional minus or plus sign.

number' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> s -> μ α #

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 μ) => s -> μ α #

A shorthand for `number'` `optMinus`.

compact' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> 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 μ) => s -> μ α #

A shorthand for `compact'` `optMinus`.

numberUpTo' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> 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.

numberUpTo :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => s -> Int -> μ α #

A shorthand for `numberUpTo'` `optMinus`.

compactUpTo' :: (PositionalSystem s, Num α, Monad μ, CharParsing μ) => μ Sign -> 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 μ) => s -> Int -> μ α #

A shorthand for `compactUpTo'` `optMinus`.

bounded' :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => μ Sign -> 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.

bounded :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => s -> μ α #

A shorthand for `bounded'` `optMinus`.

cBounded' :: (PositionalSystem s, Ord α, Bounded α, Integral α, Monad μ, CharParsing μ) => μ Sign -> 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 μ) => s -> μ α #

A shorthand for `cBounded'` `optMinus`.

bits' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> 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 μ) => s -> μ α #

A shorthand for `bits'` `optMinus`.

cBits' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> 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 μ) => s -> μ α #

A shorthand for `cBits'` `optMinus`.

bitsUpTo' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> 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.

bitsUpTo :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => s -> Int -> μ α #

A shorthand for `bitsUpTo'` `optMinus`.

cBitsUpTo' :: (BitSystem s, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> 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 μ) => s -> Int -> μ α #

A shorthand for `cBitsUpTo'` `optMinus`.

bBits' :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> 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.

bBits :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => s -> μ α #

A shorthand for `bBits'` `optMinus`.

cbBits' :: (BitSystem s, Ord α, Bounded α, Num α, Bits α, Monad μ, CharParsing μ) => μ Sign -> 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 μ) => s -> μ α #

A shorthand for `cbBits'` `optMinus`.