!_      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safed10Determines whether a  is in the range '0' to '9'.d10Determines whether a H consists of a single character and that character is within the range '0' to '9'.d10Determines whether a < consists entirely of characters that are within the range '0' to '9'.d10Determines whether a  is in the range 0 to 9.d10Determines whether an  is in the range 0 to 9.d10Determines whether an  is in the range 0 to 9.d10.Determines whether a number whose type has an " instance is in the range 0 to 9.None.9Vi$d10A value of some numeric type a between  0 and  9.The  Data.D10.Num2 module provides many functions for constructing  values, including:  ::  ->    ::  ->  With the  QuasiQuotes' GHC extension enabled, you can write " literals using the quasi-quoters ( and ).d10The constructor's name include the word "unsafe" as a reminder that you should generally avoid using it directly, because it allows constructing invalid  values. d10 Convert a  to its underlying  representation.d10Char [d10|7|]'7' d10 Convert a  to a .   x = [  x]d10Str [d10|7|]"7" d10 Convert a  to a ., is a more general version of this function.d10Nat [d10|7|]7 d10 Convert a  to an ., is a more general version of this function.d10Integer [d10|7|]7 d10 Convert a  to an ., is a more general version of this function.d10Int [d10|7|]7d10 Convert a  to any kind of number with a  instance..Specialized versions of this function include  ,  , and  .d10Num [d10|7|] :: Integer7d10The 4 which is uniquely congruent modulo 10 to the given ., is a more general version of this function.natMod10 56 :: D10 Int[d10|6|]d10The 4 which is uniquely congruent modulo 10 to the given ., is a more general version of this function.integerMod10 56 :: D10 Int[d10|6|]integerMod10 (-56) :: D10 Int[d10|4|]d10The 4 which is uniquely congruent modulo 10 to the given ., is a more general version of this function.intMod10 56 :: D10 Int[d10|6|]intMod10 (-56) :: D10 Int[d10|4|]d10The e which is uniquely congruent modulo 10 to the given number (whose type must have an instance of the  class)..Specialized versions of this function include , , and .(integralMod10 (56 :: Integer) :: D10 Int[d10|6|]+integralMod10 ((-56) :: Integer) :: D10 Int[d10|4|]d10 Convert a  to a  if it is within the range '0' to '9' , or produce  otherwise.  x =  ( x)!, is a more general version of this function.charD10Maybe '5' Just [d10|5|]charD10Maybe 'a'Nothingd10 Convert a  to a Q if it consists of exactly one character and that character is within the range '0' to '9', or produce  otherwise.  x =  ( x)", is a more general version of this function.strD10Maybe "5" Just [d10|5|]strD10Maybe "a"NothingstrD10Maybe "58"Nothingd10 Convert a  to a list of > if all of the characters in the string are within the range '0' to '9', or produce  otherwise.  x =  ( x)#, is a more general version of this function.strD10ListMaybe "5"Just [d10list|5|]strD10ListMaybe "a"NothingstrD10ListMaybe "58"Just [d10list|58|]d10 Convert a  to a $ if it is less than 10, or produce  otherwise.  x =  ( x), $, and '- are more general versions of this function. natD10Maybe 5 Just [d10|5|]natD10Maybe 12Nothingd10 Convert an  to a / if it is within the range 0 to 9, or produce  otherwise.  x =  ( x), %, and '- are more general versions of this function.integerD10Maybe 5 Just [d10|5|]integerD10Maybe 12NothingintegerD10Maybe (-5)Nothingd10 Convert an  to a / if it is within the range 0 to 9, or produce  otherwise.  x =  ( x), &, and '- are more general versions of this function. intD10Maybe 5 Just [d10|5|]intD10Maybe 12NothingintD10Maybe (-5)Nothingd10 Construct a ! from any kind of number with an  instance, or produce / if the number falls outside the range 0 to 9.  x =  ( x).Specialized versions of this function include , , and .', is a more general version of this function.integralD10Maybe (5 :: Integer) Just [d10|5|] integralD10Maybe (12 :: Integer)Nothing"integralD10Maybe ((-5) :: Integer)Nothingd10 Convert a  to a  if it is within the range '0' to '9', or ! with an error message otherwise.charD10Either '5'Right [d10|5|]charD10Either 'a'"Left "d10 must be between 0 and 9"d10 Convert a  to a N if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.strD10Either "5"Right [d10|5|]strD10Either "a""Left "d10 must be between 0 and 9"strD10Either "58"%Left "d10 must be a single character"d10 Convert a  to a ? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.strD10ListEither "5"Right [d10list|5|]strD10ListEither "a""Left "d10 must be between 0 and 9"strD10ListEither "58"Right [d10list|58|]d10 Convert a  to a  if it is less than 10, or ! with an error message otherwise.natD10Either 5Right [d10|5|]natD10Either 12Left "d10 must be less than 10"d10 Convert an  to a ' if it is within the range 0 to 9, or ! with an error message otherwise.integerD10Either 5Right [d10|5|]integerD10Either 12"Left "d10 must be between 0 and 9"integerD10Either (-5)"Left "d10 must be between 0 and 9"d10 Convert an  to a ' if it is within the range 0 to 9, or ! with an error message otherwise.intD10Either 5Right [d10|5|]intD10Either 12"Left "d10 must be between 0 and 9"intD10Either (-5)"Left "d10 must be between 0 and 9" d10'Convert a number of a type that has an  instance to a ) if it falls within the range 0 to 9, or " with an error message otherwise. integralD10Either (5 :: Integer)Right [d10|5|]!integralD10Either (12 :: Integer)"Left "d10 must be between 0 and 9"#integralD10Either ((-5) :: Integer)"Left "d10 must be between 0 and 9"!d10 Convert a  to a  if it is within the range '0' to '9', or ! with an error message otherwise.+ is a specialized version of this function.charD10Fail '5' :: IO (D10 Int)[d10|5|]charD10Fail 'a' :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)"d10 Convert a  to a N if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.+ is a specialized version of this function.strD10Fail "5" :: IO (D10 Int)[d10|5|]strD10Fail "a" :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)strD10Fail "58" :: IO (D10 Int):*** Exception: user error (d10 must be a single character)#d10 Convert a  to a ? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.+ is a specialized version of this function."strD10ListFail "5" :: IO [D10 Int] [d10list|5|]"strD10ListFail "a" :: IO [D10 Int]7*** Exception: user error (d10 must be between 0 and 9)#strD10ListFail "58" :: IO [D10 Int] [d10list|58|]$d10 Convert a  to a  if it is less than 10, or ! with an error message otherwise.+ is a specialized version of this function.', is a more general version of this function.natD10Fail 5 :: IO (D10 Int)[d10|5|]natD10Fail 12 :: IO (D10 Int)4*** Exception: user error (d10 must be less than 10)%d10 Convert an  to a ' if it is within the range 0 to 9, or ! with an error message otherwise.+ is a specialized version of this function.', is a more general version of this function. integerD10Fail 5 :: IO (D10 Int)[d10|5|]!integerD10Fail 12 :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)#integerD10Fail (-5) :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)&d10 Convert an  to a ' if it is within the range 0 to 9, or ! with an error message otherwise.+ is a specialized version of this function.', is a more general version of this function.intD10Fail 5 :: IO (D10 Int)[d10|5|]intD10Fail 12 :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)intD10Fail (-5) :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)'d10'Convert a number of a type that has an  instance to a ) if it falls within the range 0 to 9, or " with an error message otherwise., , , , $, %, and &/ are all specialized versions of this function..integralD10Fail (5 :: Integer) :: IO (D10 Int)[d10|5|]/integralD10Fail (12 :: Integer) :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)1integralD10Fail ((-5) :: Integer) :: IO (D10 Int)7*** Exception: user error (d10 must be between 0 and 9)(d10A single base-10 digit.IThis quasi-quoter, when used as an expression, produces a value of type  a.d10Nat [d10|5|]5d10Nat [d10|a|]...... d10 must be between 0 and 9...d10Nat [d10|58|]..."... d10 must be a single character...)d10A list of base-10 digits.IThis quasi-quoter, when used as an expression, produces a value of type [ a].d10Nat <$> [d10list||][]d10Nat <$> [d10list|5|][5]d10Nat <$> [d10list|58|][5,8]d10Nat <$> [d10list|a|]...... d10 must be between 0 and 9...*d108Shows base-10 digits using the quasiquoters defined in  Data.D10.Char$. A single digit is displayed using ('. A list of digits is displayed using ).$  !"#$%&'()$() ! "# $ % & 'None.9!$0d10A  value between '0' and '9'.The  Data.D10.Char2 module provides many functions for constructing 0 values, including: @ ::  ->  0 9 ::  -> 0 With the  QuasiQuotes' GHC extension enabled, you can write 0" literals using the quasi-quoters Q and R.1d10The constructor's name include the word "unsafe" as a reminder that you should generally avoid using it directly, because it allows constructing invalid 0 values.2d10 Convert a 0 to its underlying  representation.d10Char [d10|7|]'7'3d10 Convert a 0 to a . 3 x = [2 x]d10Str [d10|7|]"7"4d10 Convert a 0 to a .7, is a more general version of this function.d10Nat [d10|7|]75d10 Convert a 0 to an .7, is a more general version of this function.d10Integer [d10|7|]76d10 Convert a 0 to an .7, is a more general version of this function.d10Int [d10|7|]77d10 Convert a 0 to any kind of number with a  instance..Specialized versions of this function include 4, 5, and 6.d10Num [d10|7|] :: Integer78d10The 04 which is uniquely congruent modulo 10 to the given .;, is a more general version of this function. natMod10 56[d10|6|]9d10The 04 which is uniquely congruent modulo 10 to the given .;, is a more general version of this function.integerMod10 56[d10|6|]integerMod10 (-56)[d10|4|]:d10The 04 which is uniquely congruent modulo 10 to the given .;, is a more general version of this function. intMod10 56[d10|6|]intMod10 (-56)[d10|4|];d10The 0e which is uniquely congruent modulo 10 to the given number (whose type must have an instance of the  class)..Specialized versions of this function include 8, 9, and :.integralMod10 (56 :: Integer)[d10|6|] integralMod10 ((-56) :: Integer)[d10|4|]<d10 Convert a  to a 0 if it is within the range '0' to '9' , or produce  otherwise.  x =  (< x)J, is a more general version of this function.charD10Maybe '5' Just [d10|5|]charD10Maybe 'a'Nothing=d10 Convert a  to a 0Q if it consists of exactly one character and that character is within the range '0' to '9', or produce  otherwise.  x =  (= x)K, is a more general version of this function.strD10Maybe "5" Just [d10|5|]strD10Maybe "a"NothingstrD10Maybe "58"Nothing>d10 Convert a  to a list of 0> if all of the characters in the string are within the range '0' to '9', or produce  otherwise.  x =  (> x)L, is a more general version of this function.strD10ListMaybe "5"Just [d10list|5|]strD10ListMaybe "a"NothingstrD10ListMaybe "58"Just [d10list|58|]?d10 Convert a  to a 0$ if it is less than 10, or produce  otherwise.  x =  (? x)B, M, and P- are more general versions of this function. natD10Maybe 5 Just [d10|5|]natD10Maybe 12Nothing@d10 Convert an  to a 0/ if it is within the range 0 to 9, or produce  otherwise.  x =  (@ x)B, N, and P- are more general versions of this function.integerD10Maybe 5 Just [d10|5|]integerD10Maybe 12NothingintegerD10Maybe (-5)NothingAd10 Convert an  to a 0/ if it is within the range 0 to 9, or produce  otherwise.  x =  (A x)B, O, and P- are more general versions of this function. intD10Maybe 5 Just [d10|5|]intD10Maybe 12NothingintD10Maybe (-5)NothingBd10 Construct a 0! from any kind of number with an  instance, or produce / if the number falls outside the range 0 to 9.  x =  (B x).Specialized versions of this function include ?, @, and A.P, is a more general version of this function.integralD10Maybe (5 :: Integer) Just [d10|5|] integralD10Maybe (12 :: Integer)Nothing"integralD10Maybe ((-5) :: Integer)NothingCd10 Convert a  to a 0 if it is within the range '0' to '9', or ! with an error message otherwise.charD10Either '5'Right [d10|5|]charD10Either 'a'"Left "d10 must be between 0 and 9"Dd10 Convert a  to a 0N if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.strD10Either "5"Right [d10|5|]strD10Either "a""Left "d10 must be between 0 and 9"strD10Either "58"%Left "d10 must be a single character"Ed10 Convert a  to a 0? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.strD10ListEither "5"Right [d10list|5|]strD10ListEither "a""Left "d10 must be between 0 and 9"strD10ListEither "58"Right [d10list|58|]Fd10 Convert a  to a 0 if it is less than 10, or ! with an error message otherwise.natD10Either 5Right [d10|5|]natD10Either 12Left "d10 must be less than 10"Gd10 Convert an  to a 0' if it is within the range 0 to 9, or ! with an error message otherwise.integerD10Either 5Right [d10|5|]integerD10Either 12"Left "d10 must be between 0 and 9"integerD10Either (-5)"Left "d10 must be between 0 and 9"Hd10 Convert an  to a 0' if it is within the range 0 to 9, or ! with an error message otherwise.intD10Either 5Right [d10|5|]intD10Either 12"Left "d10 must be between 0 and 9"intD10Either (-5)"Left "d10 must be between 0 and 9"Id10'Convert a number of a type that has an  instance to a 0) if it falls within the range 0 to 9, or " with an error message otherwise. integralD10Either (5 :: Integer)Right [d10|5|]!integralD10Either (12 :: Integer)"Left "d10 must be between 0 and 9"#integralD10Either ((-5) :: Integer)"Left "d10 must be between 0 and 9"Jd10 Convert a  to a 0 if it is within the range '0' to '9', or ! with an error message otherwise.<+ is a specialized version of this function.charD10Fail '5' :: IO D10[d10|5|]charD10Fail 'a' :: IO D107*** Exception: user error (d10 must be between 0 and 9)Kd10 Convert a  to a 0N if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.=+ is a specialized version of this function.strD10Fail "5" :: IO D10[d10|5|]strD10Fail "a" :: IO D107*** Exception: user error (d10 must be between 0 and 9)strD10Fail "58" :: IO D10:*** Exception: user error (d10 must be a single character)Ld10 Convert a  to a 0? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.>+ is a specialized version of this function.strD10ListFail "5" :: IO [D10] [d10list|5|]strD10ListFail "a" :: IO [D10]7*** Exception: user error (d10 must be between 0 and 9)strD10ListFail "58" :: IO [D10] [d10list|58|]Md10 Convert a  to a 0 if it is less than 10, or ! with an error message otherwise.?+ is a specialized version of this function.P, is a more general version of this function.natD10Fail 5 :: IO D10[d10|5|]natD10Fail 12 :: IO D104*** Exception: user error (d10 must be less than 10)Nd10 Convert an  to a 0' if it is within the range 0 to 9, or ! with an error message otherwise.@+ is a specialized version of this function.P, is a more general version of this function.integerD10Fail 5 :: IO D10[d10|5|]integerD10Fail 12 :: IO D107*** Exception: user error (d10 must be between 0 and 9)integerD10Fail (-5) :: IO D107*** Exception: user error (d10 must be between 0 and 9)Od10 Convert an  to a 0' if it is within the range 0 to 9, or ! with an error message otherwise.A+ is a specialized version of this function.P, is a more general version of this function.intD10Fail 5 :: IO D10[d10|5|]intD10Fail 12 :: IO D107*** Exception: user error (d10 must be between 0 and 9)intD10Fail (-5) :: IO D107*** Exception: user error (d10 must be between 0 and 9)Pd10'Convert a number of a type that has an  instance to a 0) if it falls within the range 0 to 9, or " with an error message otherwise.?, @, A, B, M, N, and O/ are all specialized versions of this function.(integralD10Fail (5 :: Integer) :: IO D10[d10|5|])integralD10Fail (12 :: Integer) :: IO D107*** Exception: user error (d10 must be between 0 and 9)+integralD10Fail ((-5) :: Integer) :: IO D107*** Exception: user error (d10 must be between 0 and 9)Qd10A single base-10 digit.IThis quasi-quoter, when used as an expression, produces a value of type 0.d10Nat [d10|5|]5d10Nat [d10|a|]...... d10 must be between 0 and 9...d10Nat [d10|58|]..."... d10 must be a single character...Rd10A list of base-10 digits.IThis quasi-quoter, when used as an expression, produces a value of type [0].d10Nat <$> [d10list||][]d10Nat <$> [d10list|5|][5]d10Nat <$> [d10list|58|][5,8]d10Nat <$> [d10list|a|]...... d10 must be between 0 and 9...Sd108Shows base-10 digits using the quasiquoters defined in  Data.D10.Char$. A single digit is displayed using Q'. A list of digits is displayed using R.$0123456789:;<=>?@ABCDEFGHIJKLMNOPQR$01QR2<CJ3=DK>EL4?FM85@GN96AHO:7BIP;None9,Yd10A whole number between 0 and 9.Zd10Zero[d10One\d10Two]d10Three^d10Four_d10Five`d10Sixad10Sevenbd10Eightcd10Ninedd10 Convert a Y to its underlying  representation. d10Char D7'7'ed10 Convert a Y to a . e x = [d x] d10Str D7"7"fd10 Convert a Y to a .i, is a more general version of this function. d10Nat D77gd10 Convert a Y to an .i, is a more general version of this function. d10Integer D77hd10 Convert a Y to an .i, is a more general version of this function. d10Int D77id10 Convert a Y to any kind of number with a  instance..Specialized versions of this function include f, g, and h.d10Num D7 :: Integer7jd10The Y4 which is uniquely congruent modulo 10 to the given .m, is a more general version of this function. natMod10 56D6kd10The Y4 which is uniquely congruent modulo 10 to the given .m, is a more general version of this function.integerMod10 56D6integerMod10 (-56)D4ld10The Y4 which is uniquely congruent modulo 10 to the given .m, is a more general version of this function. intMod10 56D6intMod10 (-56)D4md10The Ye which is uniquely congruent modulo 10 to the given number (whose type must have an instance of the  class)..Specialized versions of this function include j, k, and l.integralMod10 (56 :: Integer)D6 integralMod10 ((-56) :: Integer)D4nd10 Convert a  to a Y if it is within the range '0' to '9' , or produce  otherwise.  x =  (n x)|, is a more general version of this function.charD10Maybe '5'Just D5charD10Maybe 'a'Nothingod10 Convert a  to a YQ if it consists of exactly one character and that character is within the range '0' to '9', or produce  otherwise.  x =  (o x)}, is a more general version of this function.strD10Maybe "5"Just D5strD10Maybe "a"NothingstrD10Maybe "58"Nothingpd10 Convert a  to a list of Y> if all of the characters in the string are within the range '0' to '9', or produce  otherwise.  x =  (p x)~, is a more general version of this function.strD10ListMaybe "5" Just [D5]strD10ListMaybe "a"NothingstrD10ListMaybe "58" Just [D5,D8]qd10 Convert a  to a Y$ if it is less than 10, or produce  otherwise.  x =  (q x)t, , and - are more general versions of this function. natD10Maybe 5Just D5natD10Maybe 12Nothingrd10 Convert an  to a Y/ if it is within the range 0 to 9, or produce  otherwise.  x =  (r x)t, , and - are more general versions of this function.integerD10Maybe 5Just D5integerD10Maybe 12NothingintegerD10Maybe (-5)Nothingsd10 Convert an  to a Y/ if it is within the range 0 to 9, or produce  otherwise.  x =  (s x)t, , and - are more general versions of this function. intD10Maybe 5Just D5intD10Maybe 12NothingintD10Maybe (-5)Nothingtd10 Construct a Y! from any kind of number with an  instance, or produce / if the number falls outside the range 0 to 9.  x =  (t x).Specialized versions of this function include q, r, and s., is a more general version of this function.integralD10Maybe (5 :: Integer)Just D5 integralD10Maybe (12 :: Integer)Nothing"integralD10Maybe ((-5) :: Integer)Nothingud10 Convert a  to a Y if it is within the range '0' to '9', or ! with an error message otherwise.charD10Either '5'Right D5charD10Either 'a'"Left "d10 must be between 0 and 9"vd10 Convert a  to a YN if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.strD10Either "5"Right D5strD10Either "a""Left "d10 must be between 0 and 9"strD10Either "58"%Left "d10 must be a single character"wd10 Convert a  to a Y? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.strD10ListEither "5" Right [D5]strD10ListEither "a""Left "d10 must be between 0 and 9"strD10ListEither "58" Right [D5,D8]xd10 Convert a  to a Y if it is less than 10, or ! with an error message otherwise.natD10Either 5Right D5natD10Either 12Left "d10 must be less than 10"yd10 Convert an  to a Y' if it is within the range 0 to 9, or ! with an error message otherwise.integerD10Either 5Right D5integerD10Either 12"Left "d10 must be between 0 and 9"integerD10Either (-5)"Left "d10 must be between 0 and 9"zd10 Convert an  to a Y' if it is within the range 0 to 9, or ! with an error message otherwise.intD10Either 5Right D5intD10Either 12"Left "d10 must be between 0 and 9"intD10Either (-5)"Left "d10 must be between 0 and 9"{d10'Convert a number of a type that has an  instance to a Y) if it falls within the range 0 to 9, or " with an error message otherwise. integralD10Either (5 :: Integer)Right D5!integralD10Either (12 :: Integer)"Left "d10 must be between 0 and 9"#integralD10Either ((-5) :: Integer)"Left "d10 must be between 0 and 9"|d10 Convert a  to a Y if it is within the range '0' to '9', or ! with an error message otherwise.n+ is a specialized version of this function.charD10Fail '5' :: IO D10D5charD10Fail 'a' :: IO D107*** Exception: user error (d10 must be between 0 and 9)}d10 Convert a  to a YN if it consists of a single character and that character is within the range '0' to '9', or ! with an error message otherwise.o+ is a specialized version of this function.strD10Fail "5" :: IO D10D5strD10Fail "a" :: IO D107*** Exception: user error (d10 must be between 0 and 9)strD10Fail "58" :: IO D10:*** Exception: user error (d10 must be a single character)~d10 Convert a  to a Y? if all of the characters in the string fall within the range '0' to '9', or " with an error message otherwise.p+ is a specialized version of this function.strD10ListFail "5" :: IO [D10][D5]strD10ListFail "a" :: IO [D10]7*** Exception: user error (d10 must be between 0 and 9)strD10ListFail "58" :: IO [D10][D5,D8]d10 Convert a  to a Y if it is less than 10, or ! with an error message otherwise.q+ is a specialized version of this function., is a more general version of this function.natD10Fail 5 :: IO D10D5natD10Fail 12 :: IO D104*** Exception: user error (d10 must be less than 10)d10 Convert an  to a Y' if it is within the range 0 to 9, or ! with an error message otherwise.r+ is a specialized version of this function., is a more general version of this function.integerD10Fail 5 :: IO D10D5integerD10Fail 12 :: IO D107*** Exception: user error (d10 must be between 0 and 9)integerD10Fail (-5) :: IO D107*** Exception: user error (d10 must be between 0 and 9)d10 Convert an  to a Y' if it is within the range 0 to 9, or ! with an error message otherwise.s+ is a specialized version of this function., is a more general version of this function.intD10Fail 5 :: IO D10D5intD10Fail 12 :: IO D107*** Exception: user error (d10 must be between 0 and 9)intD10Fail (-5) :: IO D107*** Exception: user error (d10 must be between 0 and 9)d10'Convert a number of a type that has an  instance to a Y) if it falls within the range 0 to 9, or " with an error message otherwise.q, r, s, t, , , and / are all specialized versions of this function.(integralD10Fail (5 :: Integer) :: IO D10D5)integralD10Fail (12 :: Integer) :: IO D107*** Exception: user error (d10 must be between 0 and 9)+integralD10Fail ((-5) :: Integer) :: IO D107*** Exception: user error (d10 must be between 0 and 9)d10A single base-10 digit.IThis quasi-quoter, when used as an expression, produces a value of type Y.[d10|5|]D5[d10|a|]...... d10 must be between 0 and 9... [d10|58|]..."... d10 must be a single character...d10A list of base-10 digits.IThis quasi-quoter, when used as an expression, produces a value of type [Y]. [d10list||][] [d10list|5|][D5] [d10list|58|][D5,D8] [d10list|a|]...... d10 must be between 0 and 9...,Y[Z\]^_`abcdefghijklmnopqrstuvwxyz{|}~,Y[Z\]^_`abcdnu|eov}pw~fqxjgrykhszlit{m      !"#$%&'()*+,-./0123456 !"#$%&'()*+,-./0123456789:;<=>?@ !"#$%&'()*+,-./0324651ABCDEFDGHIJKABLDMNDOPDEQDORDESDTUDVWX"d10-0.1.0.0-FqJQlIEBzZ6ClDZatIqrpDData.D10.Predicate Data.D10.Num Data.D10.Char Data.D10.Safe Data.MaybeisJust isD10CharisD10Str isD10ListStrisD10Nat isD10IntegerisD10Int isD10IntegralD10 D10_Unsafed10Chard10Strd10Nat d10Integerd10Intd10NumnatMod10 integerMod10intMod10 integralMod10 charD10Maybe strD10MaybestrD10ListMaybe natD10MaybeintegerD10Maybe intD10MaybeintegralD10Maybe charD10Either strD10EitherstrD10ListEither natD10EitherintegerD10Either intD10EitherintegralD10Either charD10Fail strD10FailstrD10ListFail natD10FailintegerD10Fail intD10FailintegralD10Faild10d10list $fShowD10 $fEnumD10 $fBoundedD10$fEqD10$fOrdD10 $fLiftD10D0D1D2D3D4D5D6D7D8D9ghc-prim GHC.TypesCharbaseGHC.BaseString GHC.NaturalNatural integer-gmpGHC.Integer.TypeIntegerIntGHC.RealIntegralGHC.Num fromIntegerMaybeNumNothing Data.EitherLeftControl.Monad.Failfail