| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Digit.Natural
Documentation
_NaturalDigits :: Prism' (NonEmpty Digit) Natural Source #
>>>_NaturalDigits # 00 :| []
>>>_NaturalDigits # 11 :| []
>>>_NaturalDigits # 92233720368547758079 :| [2,2,3,3,7,2,0,3,6,8,5,4,7,7,5,8,0,7]
>>>(9 :| [2,2,3,3,7,2,0,3,6,8,5,4,7,7,5,8,0,7]) ^? _NaturalDigitsJust 9223372036854775807
>>>(1 :| []) ^? _NaturalDigitsJust 1
\x -> digitsToNatural ( naturalToDigits x ) == Just x
naturalToDigits :: Natural -> NonEmpty Digit Source #
NonEmpty Digits from a Natural number
>>>naturalDigits 00 :| []
>>>naturalDigits 99 :| []
>>>naturalDigits 3935643 :| [9,3,5,6,4]
>>>naturalDigits 92233720368547758079 :| [2,2,3,3,7,2,0,3,6,8,5,4,7,7,5,8,0,7]
digitsToNatural :: NonEmpty Digit -> Maybe Natural Source #
Create a number from a list of digits with the integer bounds of the machine.
>>>naturalFromDigits (D.x3 :| [D.x4])Just 34
>>>naturalFromDigits (D.Digit3 :| [D.Digit9,D.Digit3,D.Digit5,D.Digit6,D.Digit4])Just 393564
>>>naturalFromDigits (D.x0 :| [])Just 0
Int maxBound for Int64 >>> naturalFromDigits (D.x9 :| [D.x2,D.x2,D.x3,D.x3,D.x7,D.x2,D.x0,D.x3,D.x6,D.x8,D.x5,D.x4,D.x7,D.x7,D.x5,D.x8,D.x0,D.x7]) Just 9223372036854775807
Int maxBound + 1 for Int64 >>> naturalFromDigits (D.x9 :| [D.x2,D.x2,D.x3,D.x3,D.x7,D.x2,D.x0,D.x3,D.x6,D.x8,D.x5,D.x4,D.x7,D.x7,D.x5,D.x8,D.x0,D.x8]) Nothing