-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A data-type representing digits 0-9 and other combinations -- -- -- Digit is a data-type that represents the digits 0-9 and other -- combinations. @package digit @version 0.2.5 -- | A data type with ten nullary constructors [0-9] and combinators. module Data.Digit -- | A data type with ten nullary constructors. data Digit -- | 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 --foldDigit :: a -> a -> a -> a -> a -> a -> a -> a -> a -> a -> Digit -> a class D0 d d0 :: D0 d => Prism' d () x0 :: D0 d => d class D1 d d1 :: D1 d => Prism' d () x1 :: D1 d => d class D2 d d2 :: D2 d => Prism' d () x2 :: D2 d => d class D3 d d3 :: D3 d => Prism' d () x3 :: D3 d => d class D4 d d4 :: D4 d => Prism' d () x4 :: D4 d => d class D5 d d5 :: D5 d => Prism' d () x5 :: D5 d => d class D6 d d6 :: D6 d => Prism' d () x6 :: D6 d => d class D7 d d7 :: D7 d => Prism' d () x7 :: D7 d => d class D8 d d8 :: D8 d => Prism' d () x8 :: D8 d => d class D9 d d9 :: D9 d => Prism' d () x9 :: D9 d => d -- | 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 ---- --
-- >>> digit # D5 -- 5 ---- --
-- >>> digit # D9 -- 9 ---- --
-- >>> digit # D0 -- 0 --digit :: Prism' Int Digit -- | A prism for using Char as Digit. -- --
-- >>> '5' ^? digitC -- Just 5 ---- --
-- >>> '0' ^? digitC -- Just 0 ---- --
-- >>> '9' ^? digitC -- Just 9 ---- --
-- >>> 'a' ^? digitC -- Nothing ---- --
-- >>> '@' ^? digitC -- Nothing ---- --
-- >>> digitC # D5 -- '5' ---- --
-- >>> digitC # D9 -- '9' ---- --
-- >>> digitC # D0 -- '0' --digitC :: Prism' Char Digit -- | A prism for the list of digits in an integer -- --
-- >>> 1234 ^? digits -- Just [1,2,3,4] ---- --
-- >>> 0 ^? digits -- Just [] ---- --
-- >>> 1 ^? digits -- Just [1] ---- --
-- >>> 90 ^? digits -- Just [9,0] ---- --
-- >>> 05 ^? digits -- Just [5] ---- --
-- >>> 105 ^? digits -- Just [1,0,5] ---- --
-- >>> (-1) ^? digits -- Nothing ---- -- λ> digits # [D0] 0 -- --
-- >>> digits # [D0, D1] -- 1 ---- --
-- >>> digits # [D1] -- 1 ---- --
-- >>> digits # [D1, D2, D3] -- 123 ---- --
-- >>> digits # [D1, D0, D3] -- 103 ---- --
-- >>> digits # [D1, D0, D3, D0] -- 1030 --digits :: Prism' Int [Digit] -- | Modulus with 10. -- --
-- >>> mod10 0 -- 0 ---- --
-- >>> mod10 1 -- 1 ---- --
-- >>> mod10 8 -- 8 ---- --
-- >>> mod10 9 -- 9 ---- --
-- >>> mod10 10 -- 0 ---- --
-- >>> mod10 90 -- 0 ---- --
-- >>> mod10 91 -- 1 ---- --
-- >>> mod10 (-1) -- 9 --mod10 :: Int -> Digit -- | 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) --divMod10 :: Int -> (Int, Digit) parsedigit :: (Monad p, CharParsing p) => p Digit parsedigits :: (Monad p, CharParsing p) => p [Digit] parsedigits1 :: (Monad p, CharParsing p) => p (NonEmpty Digit) skipdigits :: (Monad p, CharParsing p) => p () skipdigits1 :: (Monad p, CharParsing p) => p () parsenotdigit :: (Monad p, CharParsing p) => p Char parsenotdigits :: (Monad p, CharParsing p) => p String parsenotdigits1 :: (Monad p, CharParsing p) => p String skipnotdigits :: (Monad p, CharParsing p) => p () skipnotdigits1 :: (Monad p, CharParsing p) => p () -- | A QuasiQuoter for any range of Digit. -- --