úÎ.(éW      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVNone 0<=DR *A data type with ten nullary constructors.Catamorphism for Digit.0foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D0 == q00foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D1 == q10foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D2 == q20foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D3 == q30foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D4 == q40foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D5 == q50foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D6 == q60foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D7 == q70foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D8 == q80foldDigit q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 D9 == q9!A prism for using Int as Digit. 5 ^? digitJust 5 0 ^? digitJust 0 9 ^? digitJust 9 10 ^? digitNothing (-5) ^? digitNothing digit # D55 digit # D99 digit # D00"A prism for using Char as Digit. '5' ^? digitCJust 5 '0' ^? digitCJust 0 '9' ^? digitCJust 9 'a' ^? digitCNothing '@' ^? digitCNothing digitC # D5'5' digitC # D9'9' digitC # D0'0'#,A prism for the list of digits in an integer1234 ^? digitlistJust [1,2,3,4]0 ^? digitlistJust []1 ^? digitlistJust [1]90 ^? digitlist Just [9,0]05 ^? digitlistJust [5]105 ^? digitlist Just [1,0,5](-1) ^? digitlistNothing»> digitlist # [D0] 0digitlist # [D0, D1]1digitlist # [D1]1digitlist # [D1, D2, D3]123digitlist # [D1, D0, D3]103digitlist # [D1, D0, D3, D0]1030%Modulus with 10.mod10 00mod10 11mod10 88mod10 99mod10 100mod10 900mod10 911 mod10 (-1)9&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)2A QuasiQuoter for any range of Digit.  digitQ|4| :: Digit 4Vnamed [digitQ|4|] = "four" named [digitQ|$x|] = "not four, " ++ show x ++ " instead"+mod10D x = let y = mod x 10 in [digitQ|$y|]5 D0 /+/ D0(0,0) D0 /+/ D1(0,1) D1 /+/ D0(0,1) D4 /+/ D5(0,9) D5 /+/ D5(1,0) D5 /+/ D6(1,1) D8 /+/ D7(1,5) D9 /+/ D9(1,8)[W XYZ[\]^_`a Zero.One.Two.Three.Four.Five.Six.Seven.Eight. Nine. The digit to fold. !"#$%&'()*+,-./012bc3456789:;<=>?@ABCDEFGHIJKLM9  !"#$%&'()*+,-./0123456789    !"#%&'()*+,-./012$345678FW    XYZ[\]^_`a !"#$%&'()*+,-./012bc3456789:;<=>?@ABCDEFGHIJKLMd      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX   YZ["digit-0.2.8-Ajb7OZusoASFJrIN6pqPSI Data.DigitDigitsD9d9D8d8D7d7D6d6D5d5D4d4D3d3D2d2D1d1D0d0Digit foldDigitx0x1x2x3x4x5x6x7x8x9digitdigitC digitlistdigitsmod10divMod10 parsedigitparsedigitlist parsedigitsparsedigitlist1 skipdigitlistskipdigitlist1 parsenotdigitparsenotdigitsparsenotdigits1 skipnotdigitsskipnotdigits1digitQdigitsIdigitsS/+/.+..*.mantissa$fMonoidDigits$fSemigroupDigits$fReversingDigits$fPlatedDigits $fIxedDigits$fEachDigitsDigitsDigitDigit$fAsEmptyDigits$fSnocDigitsDigitsDigitDigit$fConsDigitsDigitsDigitDigit $fReadDigit $fShowDigit $fD9Digit $fD8Digit $fD7Digit $fD6Digit $fD5Digit $fD4Digit $fD3Digit $fD2Digit $fD1Digit $fD0Digit $fEqDigit $fOrdDigit $fEnumDigit$fBoundedDigit $fDataDigit $fEqDigits $fOrdDigits $fShowDigits $fDataDigitsdexpdpat