| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Digit
Description
A data type with ten nullary constructors [0-9] and combinators.
- data Digit
- foldDigit :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Digit -> a
- class HasDigit a where
- class AsDigit a where
- class ManyDigit a where
- class D0 d where
- class D1 d where
- class D2 d where
- class D3 d where
- class D4 d where
- class D5 d where
- class D6 d where
- class D7 d where
- class D8 d where
- class D9 d where
- mod10 :: Integral a => a -> Digit
- absrem10 :: Integral a => a -> Digit
- divMod10 :: Integral a => a -> (a, Digit)
- parsedigit :: CharParsing p => p Digit
- digitQ :: QuasiQuoter
- (/+/) :: Digit -> Digit -> (Digit, Digit)
Documentation
A data type with ten nullary constructors.
Instances
Arguments
| :: a | Zero. |
| -> a | One. |
| -> a | Two. |
| -> a | Three. |
| -> a | Four. |
| -> a | Five. |
| -> a | Six. |
| -> a | Seven. |
| -> a | Eight. |
| -> a | Nine. |
| -> Digit | The digit to fold. |
| -> a |
Catamorphism for Digit.
foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D0 == q0
foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D1 == q1
foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D2 == q2
foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D3 == q3
foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D4 == q4
foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D5 == q5
foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D6 == q6
foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D7 == q7
foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D8 == q8
foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D9 == q9
class AsDigit a where Source #
Minimal complete definition
Instances
| AsDigit Char Source # |
|
| AsDigit Int Source # |
|
| AsDigit Int8 Source # |
|
| AsDigit Int16 Source # |
|
| AsDigit Int32 Source # |
|
| AsDigit Int64 Source # |
|
| AsDigit Integer Source # |
|
| AsDigit Word Source # |
|
| AsDigit Digit Source # | |
| Integral a => AsDigit (Identity a) Source # |
|
| Integral a => AsDigit (Const * a b) Source # |
|
class ManyDigit a where Source #
Minimal complete definition
Methods
digitT :: Traversal' a Digit Source #
Minimal complete definition
Minimal complete definition
Minimal complete definition
Minimal complete definition
Minimal complete definition
Minimal complete definition
Minimal complete definition
Minimal complete definition
Minimal complete definition
Minimal complete definition
mod10 :: Integral a => a -> Digit Source #
Modulus with 10.
>>>mod10 00
>>>mod10 11
>>>mod10 88
>>>mod10 99
>>>mod10 100
>>>mod10 900
>>>mod10 911
>>>mod10 (-1)9
>>>mod10 (-12)8
absrem10 :: Integral a => a -> Digit Source #
Absolute value of remainder 10.
>>>absrem10 00
>>>absrem10 11
>>>absrem10 88
>>>absrem10 99
>>>absrem10 100
>>>absrem10 900
>>>absrem10 911
>>>absrem10 (-1)1
>>>absrem10 (-12)2
divMod10 :: Integral a => a -> (a, Digit) Source #
Division/modulus with 10.
>>>divMod10 0(0,0)
>>>divMod10 1(0,1)
>>>divMod10 8(0,8)
>>>divMod10 9(0,9)
>>>divMod10 10(1,0)
>>>divMod10 90(9,0)
>>>divMod10 91(9,1)
>>>divMod10 (-1)(-1,9)
parsedigit :: CharParsing p => p Digit Source #
digitQ :: QuasiQuoter Source #
A QuasiQuoter for any range of Digit.
- digitQ|4|
- :: Digit 4
named [digitQ|4|] = "four" named [digitQ|$x|] = "not four, " ++ show x ++ " instead"
mod10D x = let y = mod x 10 in [digitQ|$y|]