data-textual-0.3.0.3: Human-friendly textual representations.
Safe HaskellNone
LanguageHaskell2010

Data.Textual.Fractional

Description

Parsers for fractions.

Synopsis

Positional numeral systems

class PositionalSystem s where #

Methods

systemName :: s -> String #

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

isDigitIn :: s -> Char -> Bool #

isNzDigitIn :: s -> Char -> Bool #

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

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

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

intToDigitIn :: s -> Int -> Char #

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

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

Instances

Instances details
PositionalSystem Binary 
Instance details

Defined in Text.Printer.Integral

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 Decimal 
Instance details

Defined in Text.Printer.Integral

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 
Instance details

Defined in Text.Printer.Integral

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 
Instance details

Defined in Text.Printer.Integral

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 Octal 
Instance details

Defined in Text.Printer.Integral

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 UpHex 
Instance details

Defined in Text.Printer.Integral

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 #

data Binary #

Constructors

Binary 

Instances

Instances details
Eq Binary 
Instance details

Defined in Text.Printer.Integral

Methods

(==) :: Binary -> Binary -> Bool

(/=) :: Binary -> Binary -> Bool

Ord Binary 
Instance details

Defined in Text.Printer.Integral

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 
Instance details

Defined in Text.Printer.Integral

Methods

readsPrec :: Int -> ReadS Binary

readList :: ReadS [Binary]

readPrec :: ReadPrec Binary

readListPrec :: ReadPrec [Binary]

Show Binary 
Instance details

Defined in Text.Printer.Integral

Methods

showsPrec :: Int -> Binary -> ShowS

show :: Binary -> String

showList :: [Binary] -> ShowS

Generic Binary 
Instance details

Defined in Text.Printer.Integral

Associated Types

type Rep Binary :: Type -> Type

Methods

from :: Binary -> Rep Binary x

to :: Rep Binary x -> Binary

BitSystem Binary 
Instance details

Defined in Text.Printer.Integral

Methods

digitBitsIn :: Binary -> Int #

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

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

PositionalSystem Binary 
Instance details

Defined in Text.Printer.Integral

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 #

type Rep Binary 
Instance details

Defined in Text.Printer.Integral

type Rep Binary = D1 ('MetaData "Binary" "Text.Printer.Integral" "text-printer-0.5.0.2-1aEyTWsmD2GJfkfpMLV1tQ" 'False) (C1 ('MetaCons "Binary" 'PrefixI 'False) (U1 :: Type -> Type))

data Octal #

Constructors

Octal 

Instances

Instances details
Eq Octal 
Instance details

Defined in Text.Printer.Integral

Methods

(==) :: Octal -> Octal -> Bool

(/=) :: Octal -> Octal -> Bool

Ord Octal 
Instance details

Defined in Text.Printer.Integral

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 
Instance details

Defined in Text.Printer.Integral

Methods

readsPrec :: Int -> ReadS Octal

readList :: ReadS [Octal]

readPrec :: ReadPrec Octal

readListPrec :: ReadPrec [Octal]

Show Octal 
Instance details

Defined in Text.Printer.Integral

Methods

showsPrec :: Int -> Octal -> ShowS

show :: Octal -> String

showList :: [Octal] -> ShowS

Generic Octal 
Instance details

Defined in Text.Printer.Integral

Associated Types

type Rep Octal :: Type -> Type

Methods

from :: Octal -> Rep Octal x

to :: Rep Octal x -> Octal

BitSystem Octal 
Instance details

Defined in Text.Printer.Integral

Methods

digitBitsIn :: Octal -> Int #

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

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

PositionalSystem Octal 
Instance details

Defined in Text.Printer.Integral

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 #

type Rep Octal 
Instance details

Defined in Text.Printer.Integral

type Rep Octal = D1 ('MetaData "Octal" "Text.Printer.Integral" "text-printer-0.5.0.2-1aEyTWsmD2GJfkfpMLV1tQ" 'False) (C1 ('MetaCons "Octal" 'PrefixI 'False) (U1 :: Type -> Type))

data Decimal #

Constructors

Decimal 

Instances

Instances details
Eq Decimal 
Instance details

Defined in Text.Printer.Integral

Methods

(==) :: Decimal -> Decimal -> Bool

(/=) :: Decimal -> Decimal -> Bool

Ord Decimal 
Instance details

Defined in Text.Printer.Integral

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 
Instance details

Defined in Text.Printer.Integral

Methods

readsPrec :: Int -> ReadS Decimal

readList :: ReadS [Decimal]

readPrec :: ReadPrec Decimal

readListPrec :: ReadPrec [Decimal]

Show Decimal 
Instance details

Defined in Text.Printer.Integral

Methods

showsPrec :: Int -> Decimal -> ShowS

show :: Decimal -> String

showList :: [Decimal] -> ShowS

Generic Decimal 
Instance details

Defined in Text.Printer.Integral

Associated Types

type Rep Decimal :: Type -> Type

Methods

from :: Decimal -> Rep Decimal x

to :: Rep Decimal x -> Decimal

PositionalSystem Decimal 
Instance details

Defined in Text.Printer.Integral

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 
Instance details

Defined in Text.Printer.Integral

type Rep Decimal = D1 ('MetaData "Decimal" "Text.Printer.Integral" "text-printer-0.5.0.2-1aEyTWsmD2GJfkfpMLV1tQ" 'False) (C1 ('MetaCons "Decimal" 'PrefixI 'False) (U1 :: Type -> Type))

data Hexadecimal #

Constructors

Hexadecimal 

Instances

Instances details
Eq Hexadecimal 
Instance details

Defined in Text.Printer.Integral

Methods

(==) :: Hexadecimal -> Hexadecimal -> Bool

(/=) :: Hexadecimal -> Hexadecimal -> Bool

Ord Hexadecimal 
Instance details

Defined in Text.Printer.Integral

Read Hexadecimal 
Instance details

Defined in Text.Printer.Integral

Methods

readsPrec :: Int -> ReadS Hexadecimal

readList :: ReadS [Hexadecimal]

readPrec :: ReadPrec Hexadecimal

readListPrec :: ReadPrec [Hexadecimal]

Show Hexadecimal 
Instance details

Defined in Text.Printer.Integral

Methods

showsPrec :: Int -> Hexadecimal -> ShowS

show :: Hexadecimal -> String

showList :: [Hexadecimal] -> ShowS

Generic Hexadecimal 
Instance details

Defined in Text.Printer.Integral

Associated Types

type Rep Hexadecimal :: Type -> Type

Methods

from :: Hexadecimal -> Rep Hexadecimal x

to :: Rep Hexadecimal x -> Hexadecimal

BitSystem Hexadecimal 
Instance details

Defined in Text.Printer.Integral

Methods

digitBitsIn :: Hexadecimal -> Int #

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

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

PositionalSystem Hexadecimal 
Instance details

Defined in Text.Printer.Integral

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 #

type Rep Hexadecimal 
Instance details

Defined in Text.Printer.Integral

type Rep Hexadecimal = D1 ('MetaData "Hexadecimal" "Text.Printer.Integral" "text-printer-0.5.0.2-1aEyTWsmD2GJfkfpMLV1tQ" 'False) (C1 ('MetaCons "Hexadecimal" 'PrefixI 'False) (U1 :: Type -> Type))

data UpHex #

Constructors

UpHex 

Instances

Instances details
Eq UpHex 
Instance details

Defined in Text.Printer.Integral

Methods

(==) :: UpHex -> UpHex -> Bool

(/=) :: UpHex -> UpHex -> Bool

Ord UpHex 
Instance details

Defined in Text.Printer.Integral

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 
Instance details

Defined in Text.Printer.Integral

Methods

readsPrec :: Int -> ReadS UpHex

readList :: ReadS [UpHex]

readPrec :: ReadPrec UpHex

readListPrec :: ReadPrec [UpHex]

Show UpHex 
Instance details

Defined in Text.Printer.Integral

Methods

showsPrec :: Int -> UpHex -> ShowS

show :: UpHex -> String

showList :: [UpHex] -> ShowS

Generic UpHex 
Instance details

Defined in Text.Printer.Integral

Associated Types

type Rep UpHex :: Type -> Type

Methods

from :: UpHex -> Rep UpHex x

to :: Rep UpHex x -> UpHex

BitSystem UpHex 
Instance details

Defined in Text.Printer.Integral

Methods

digitBitsIn :: UpHex -> Int #

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

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

PositionalSystem UpHex 
Instance details

Defined in Text.Printer.Integral

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 #

type Rep UpHex 
Instance details

Defined in Text.Printer.Integral

type Rep UpHex = D1 ('MetaData "UpHex" "Text.Printer.Integral" "text-printer-0.5.0.2-1aEyTWsmD2GJfkfpMLV1tQ" 'False) (C1 ('MetaCons "UpHex" 'PrefixI 'False) (U1 :: Type -> Type))

data LowHex #

Constructors

LowHex 

Instances

Instances details
Eq LowHex 
Instance details

Defined in Text.Printer.Integral

Methods

(==) :: LowHex -> LowHex -> Bool

(/=) :: LowHex -> LowHex -> Bool

Ord LowHex 
Instance details

Defined in Text.Printer.Integral

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 
Instance details

Defined in Text.Printer.Integral

Methods

readsPrec :: Int -> ReadS LowHex

readList :: ReadS [LowHex]

readPrec :: ReadPrec LowHex

readListPrec :: ReadPrec [LowHex]

Show LowHex 
Instance details

Defined in Text.Printer.Integral

Methods

showsPrec :: Int -> LowHex -> ShowS

show :: LowHex -> String

showList :: [LowHex] -> ShowS

Generic LowHex 
Instance details

Defined in Text.Printer.Integral

Associated Types

type Rep LowHex :: Type -> Type

Methods

from :: LowHex -> Rep LowHex x

to :: Rep LowHex x -> LowHex

BitSystem LowHex 
Instance details

Defined in Text.Printer.Integral

Methods

digitBitsIn :: LowHex -> Int #

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

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

PositionalSystem LowHex 
Instance details

Defined in Text.Printer.Integral

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 #

type Rep LowHex 
Instance details

Defined in Text.Printer.Integral

type Rep LowHex = D1 ('MetaData "LowHex" "Text.Printer.Integral" "text-printer-0.5.0.2-1aEyTWsmD2GJfkfpMLV1tQ" 'False) (C1 ('MetaCons "LowHex" 'PrefixI 'False) (U1 :: Type -> Type))

Sign

data Sign Source #

Sign of a number.

Constructors

NonNegative 
NonPositive 

Instances

Instances details
Eq Sign Source # 
Instance details

Defined in Data.Textual.Integral

Methods

(==) :: Sign -> Sign -> Bool

(/=) :: Sign -> Sign -> Bool

Read Sign Source # 
Instance details

Defined in Data.Textual.Integral

Methods

readsPrec :: Int -> ReadS Sign

readList :: ReadS [Sign]

readPrec :: ReadPrec Sign

readListPrec :: ReadPrec [Sign]

Show Sign Source # 
Instance details

Defined in Data.Textual.Integral

Methods

showsPrec :: Int -> Sign -> ShowS

show :: Sign -> String

showList :: [Sign] -> ShowS

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

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

optMinus :: CharParsing μ => μ Sign Source #

Optional minus sign.

optSign :: CharParsing μ => μ Sign Source #

Optional minus or plus sign.

Optionality characteristic

data Optional #

Constructors

Optional 
Required 

Instances

Instances details
Bounded Optional 
Instance details

Defined in Text.Printer.Fractional

Enum Optional 
Instance details

Defined in Text.Printer.Fractional

Eq Optional 
Instance details

Defined in Text.Printer.Fractional

Methods

(==) :: Optional -> Optional -> Bool

(/=) :: Optional -> Optional -> Bool

Ord Optional 
Instance details

Defined in Text.Printer.Fractional

Methods

compare :: Optional -> Optional -> Ordering

(<) :: Optional -> Optional -> Bool

(<=) :: Optional -> Optional -> Bool

(>) :: Optional -> Optional -> Bool

(>=) :: Optional -> Optional -> Bool

max :: Optional -> Optional -> Optional

min :: Optional -> Optional -> Optional

Read Optional 
Instance details

Defined in Text.Printer.Fractional

Methods

readsPrec :: Int -> ReadS Optional

readList :: ReadS [Optional]

readPrec :: ReadPrec Optional

readListPrec :: ReadPrec [Optional]

Show Optional 
Instance details

Defined in Text.Printer.Fractional

Methods

showsPrec :: Int -> Optional -> ShowS

show :: Optional -> String

showList :: [Optional] -> ShowS

Ix Optional 
Instance details

Defined in Text.Printer.Fractional

Generic Optional 
Instance details

Defined in Text.Printer.Fractional

Associated Types

type Rep Optional :: Type -> Type

Methods

from :: Optional -> Rep Optional x

to :: Rep Optional x -> Optional

type Rep Optional 
Instance details

Defined in Text.Printer.Fractional

type Rep Optional = D1 ('MetaData "Optional" "Text.Printer.Fractional" "text-printer-0.5.0.2-1aEyTWsmD2GJfkfpMLV1tQ" 'False) (C1 ('MetaCons "Optional" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Required" 'PrefixI 'False) (U1 :: Type -> Type))

isOptional :: Optional -> Bool #

isRequired :: Optional -> Bool #

Fraction parsers

optSlash :: (Monad μ, CharParsing μ) => μ Optional Source #

Accept a slash and return Required. Otherwise return Optional.

fraction' Source #

Arguments

:: (PositionalSystem s, Fractional α, Monad μ, CharParsing μ) 
=> μ Sign

Sign parser

-> s 
-> μ Optional

Numerator/denominator separator parser

-> μ α 

Parse a fraction. The numerator and the denominator are expected to be written in the specified positional numeral system.

fraction :: (Fractional α, Monad μ, CharParsing μ) => μ α Source #

s-fraction parsers

decExpSign :: (Monad μ, CharParsing μ) => μ (Maybe Sign) Source #

Start of a decimal exponent. Accepts e or E followed by an optional sign. Otherwise Nothing is returned.

hexExpSign :: (Monad μ, CharParsing μ) => μ (Maybe Sign) Source #

Start of a hexadecimal exponent. Accepts p or P followed by an optional sign. Otherwise Nothing is returned.

fractional' Source #

Arguments

:: (PositionalSystem s, Fractional α, Monad μ, CharParsing μ) 
=> μ Sign

Sign parser.

-> s 
-> Optional

Whether the integer part is optional.

-> μ ()

Dot parser.

-> μ (Maybe Sign)

Exponent start parser.

-> μ α 

s-fraction parser.

fractional :: (Monad μ, Fractional α, CharParsing μ) => μ α Source #

Decimal fraction parser.