deferred-folds 0.9.17 → 0.9.18
raw patch · 2 files changed
+8/−3 lines, 2 filesdep ~transformersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: transformers
API changes (from Hackage documentation)
+ DeferredFolds.Unfoldr: zipWith :: (a -> b -> c) -> Unfoldr a -> Unfoldr b -> Unfoldr c
Files
deferred-folds.cabal view
@@ -1,5 +1,5 @@ name: deferred-folds-version: 0.9.17+version: 0.9.18 category: Folding synopsis: Abstractions over deferred folds description:@@ -45,7 +45,7 @@ hashable >=1 && <2, primitive >=0.6.4 && <0.8, text >=1.2 && <1.3,- transformers >=0.5 && <0.6,+ transformers >=0.5 && <0.7, unordered-containers >=0.2 && <0.3, vector >=0.12 && <0.13
library/DeferredFolds/Defs/Unfoldr.hs view
@@ -3,6 +3,7 @@ import DeferredFolds.Prelude hiding (fold, reverse) import DeferredFolds.Types+import qualified DeferredFolds.Prelude as Prelude import qualified Data.Map.Strict as Map import qualified Data.IntMap.Strict as IntMap import qualified Data.IntSet as IntSet@@ -54,7 +55,7 @@ instance Traversable Unfoldr where traverse f (Unfoldr unfoldr) =- unfoldr (\a next -> cons <$> f a <*> next) (pure mempty)+ unfoldr (\a next -> liftA2 cons (f a) next) (pure mempty) instance Eq a => Eq (Unfoldr a) where (==) left right = toList left == toList right@@ -276,6 +277,10 @@ -} reverse :: Unfoldr a -> Unfoldr a reverse (Unfoldr unfoldr) = Unfoldr $ \ step -> unfoldr (\ a f -> f . step a) id++zipWith :: (a -> b -> c) -> Unfoldr a -> Unfoldr b -> Unfoldr c+zipWith f l r =+ Prelude.zipWith f (toList l) (toList r) & foldable {-| Lift into an unfold, which produces pairs with index.