Safe Haskell | None |
---|---|
Language | Haskell2010 |
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 D0 d where
- x0 :: D0 d => d
- class D1 d where
- x1 :: D1 d => d
- class D2 d where
- x2 :: D2 d => d
- class D3 d where
- x3 :: D3 d => d
- class D4 d where
- x4 :: D4 d => d
- class D5 d where
- x5 :: D5 d => d
- class D6 d where
- x6 :: D6 d => d
- class D7 d where
- x7 :: D7 d => d
- class D8 d where
- x8 :: D8 d => d
- class D9 d where
- x9 :: D9 d => d
- digit :: Prism' Int Digit
- digitC :: Prism' Char Digit
- digitQ :: QuasiQuoter
Data type
A data type with ten nullary constructors.
Bounded Digit Source # | |
Enum Digit Source # | |
Eq Digit Source # | |
Data Digit Source # | |
Ord Digit Source # | |
Read Digit Source # | |
Show Digit Source # | |
D9 Digit Source # | |
D8 Digit Source # | |
D7 Digit Source # | |
D6 Digit Source # | |
D5 Digit Source # | |
D4 Digit Source # | |
D3 Digit Source # | |
D2 Digit Source # | |
D1 Digit Source # | |
D0 Digit Source # | |
Destructors
:: 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 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 d0 == x0
foldDigit x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 d1 == x1
foldDigit x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 d2 == x2
foldDigit x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 d3 == x3
foldDigit x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 d4 == x4
foldDigit x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 d5 == x5
foldDigit x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 d6 == x6
foldDigit x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 d7 == x7
foldDigit x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 d8 == x8
foldDigit x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 d9 == x9
Prisms
digit :: Prism' Int Digit Source #
A prism for using Int
as Digit
.
>>>
5 ^? digit
Just 5
>>>
0 ^? digit
Just 0
>>>
9 ^? digit
Just 9
>>>
10 ^? digit
Nothing
>>>
(-5) ^? digit
Nothing
digitC :: Prism' Char Digit Source #
A prism for using Char
as Digit
.
>>>
'5' ^? digitC
Just 5
>>>
'0' ^? digitC
Just 0
>>>
'9' ^? digitC
Just 9
>>>
'a' ^? digitC
Nothing
>>>
'@' ^? digitC
Nothing
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|]