packages feed

deferred-folds 0.8 → 0.9

raw patch · 2 files changed

+15/−6 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- DeferredFolds.Unfoldr: digits :: Integral a => a -> Unfoldr a
+ DeferredFolds.Unfoldr: decimalDigits :: Integral a => a -> Unfoldr a
+ DeferredFolds.Unfoldr: hexadecimalDigits :: Integral a => a -> Unfoldr a
+ DeferredFolds.Unfoldr: reverseDecimalDigits :: Integral a => a -> Unfoldr a
+ DeferredFolds.Unfoldr: reverseHexadecimalDigits :: Integral a => a -> Unfoldr a
- DeferredFolds.Unfoldr: reverseDigits :: Integral a => a -> Unfoldr a
+ DeferredFolds.Unfoldr: reverseDigits :: Integral a => a -> a -> Unfoldr a

Files

deferred-folds.cabal view
@@ -1,5 +1,5 @@ name: deferred-folds-version: 0.8+version: 0.9 category: Folding synopsis: Abstractions over deferred folds description:
library/DeferredFolds/Defs/Unfoldr.hs view
@@ -127,16 +127,25 @@ {-| Extract individual digits of a non-negative integral number. -}-digits :: Integral a => a -> Unfoldr a-digits = reverse . reverseDigits+decimalDigits :: Integral a => a -> Unfoldr a+decimalDigits = reverse . reverseDecimalDigits  {-| Extract individual digits of a non-negative integral number in reverse order. More efficient than 'digits'. -}-reverseDigits :: Integral a => a -> Unfoldr a-reverseDigits x = Unfoldr $ \ step init -> let-  loop x = case divMod x 10 of+reverseDecimalDigits :: Integral a => a -> Unfoldr a+reverseDecimalDigits = reverseDigits 10++hexadecimalDigits :: Integral a => a -> Unfoldr a+hexadecimalDigits = reverse . reverseHexadecimalDigits++reverseHexadecimalDigits :: Integral a => a -> Unfoldr a+reverseHexadecimalDigits = reverseDigits 16++reverseDigits :: Integral a => a -> a -> Unfoldr a+reverseDigits radix x = Unfoldr $ \ step init -> let+  loop x = case divMod x radix of     (next, digit) -> step digit (if next <= 0 then init else loop next)   in loop x