packages feed

edges 0.11.0.1 → 0.11.0.2

raw patch · 4 files changed

+17/−17 lines, 4 filesdep ~deferred-foldsdep ~primitive-extrasPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: deferred-folds, primitive-extras

API changes (from Hackage documentation)

- Edges.Data: edgesUnfoldM :: Monad m => Edges a b -> UnfoldM m (Node a, Node b)
+ Edges.Data: edgesUnfoldlM :: Monad m => Edges a b -> UnfoldlM m (Node a, Node b)

Files

edges.cabal view
@@ -1,5 +1,5 @@ name: edges-version: 0.11.0.1+version: 0.11.0.2 category: Graphs synopsis: Tools for efficient immutable graphs description: A set of tools for constructing immutable graphs which are both memory and performance-efficient.@@ -42,7 +42,7 @@     contravariant >=1.4 && <2,     data-dword >=0.3.1.2 && <0.4,     deepseq >=1.4 && <2,-    deferred-folds >=0.6.12 && <0.7,+    deferred-folds >=0.8 && <0.9,     foldl >=1.4.2 && <2,     hashable >=1.2 && <2,     monad-par >=0.3.4.8 && <0.4,@@ -50,7 +50,7 @@     potoki >=2.0.2 && <2.1,     potoki-cereal >=0.3 && <0.4,     primitive >=0.6.4 && <0.7,-    primitive-extras >=0.6.4.1 && <0.7,+    primitive-extras >=0.7 && <0.8,     profunctors >=5 && <6,     QuickCheck >=2.8.1 && <3,     semigroupoids >=5.2 && <6,
library/Edges/Functions.hs view
@@ -4,8 +4,8 @@ import Edges.Prelude import Edges.Types import qualified Data.Vector.Unboxed as UnboxedVector-import qualified DeferredFolds.Unfold as Unfold-import qualified DeferredFolds.UnfoldM as UnfoldM+import qualified DeferredFolds.Unfoldl as Unfoldl+import qualified DeferredFolds.UnfoldlM as UnfoldlM import qualified Control.Foldl as Foldl import qualified Edges.Functions.Folds as Foldl import qualified Control.Monad.Par as Par@@ -19,14 +19,14 @@ edgesTargetAmount :: Edges x target -> Amount target edgesTargetAmount (Edges amount _) = Amount amount -edgesUnfoldM :: Monad m => Edges a b -> UnfoldM m (Node a, Node b)-edgesUnfoldM (Edges _ mpa) =+edgesUnfoldlM :: Monad m => Edges a b -> UnfoldlM m (Node a, Node b)+edgesUnfoldlM (Edges _ mpa) =   fmap (\ (aInt, bWord32) -> (Node aInt, Node (fromIntegral bWord32))) $-  PrimMultiArray.toAssocsUnfoldM mpa+  PrimMultiArray.toAssocsUnfoldlM mpa  edgesList :: Edges a b -> [(Node a, Node b)] edgesList edges =-  UnfoldM.fold Foldl.list (edgesUnfoldM edges)+  UnfoldlM.fold Foldl.list (edgesUnfoldlM edges)  listEdges :: [(Node a, Node b)] -> Edges a b listEdges list =@@ -70,9 +70,9 @@  unindexNodeCounts :: (Eq entity, Hashable entity) => (Int -> Maybe entity) -> NodeCounts entity -> HashMap entity Word128 unindexNodeCounts lookup (NodeCounts vector) = let-  unfold = do-    index <- Unfold.intsInRange 0 (pred (UnboxedVector.length vector))+  unfoldl = do+    index <- Unfoldl.intsInRange 0 (pred (UnboxedVector.length vector))     return $ do       entity <- lookup index       return (entity, fromIntegral (UnboxedVector.unsafeIndex vector index))-  in Unfold.fold (Foldl.hashMapByMapMaybe id) unfold+  in Unfoldl.fold (Foldl.hashMapByMapMaybe id) unfoldl
library/Edges/NodeCounting.hs view
@@ -16,7 +16,7 @@ import qualified PrimitiveExtras.PrimArray as PrimArray import qualified PrimitiveExtras.PrimMultiArray as PrimMultiArray import qualified PrimitiveExtras.TVarArray as TVarArray-import qualified DeferredFolds.UnfoldM as UnfoldM+import qualified DeferredFolds.UnfoldlM as UnfoldlM import qualified Data.Vector.Unboxed as UnboxedVector import qualified Data.Vector.Unboxed.Mutable as MutableUnboxedVector @@ -25,7 +25,7 @@ nodeTargets (Edges targetAmount edgesPma) (Node sourceIndex) = do   unsafePerformIO $ do     targetCountsMVec <- MutableUnboxedVector.new targetAmount-    UnfoldM.forM_ (fmap fromIntegral $ PrimMultiArray.toUnfoldAtM edgesPma sourceIndex) $ \ targetIndex -> do+    UnfoldlM.forM_ (fmap fromIntegral $ PrimMultiArray.toUnfoldlAtM edgesPma sourceIndex) $ \ targetIndex -> do       targetCount <- MutableUnboxedVector.read targetCountsMVec targetIndex       MutableUnboxedVector.unsafeWrite targetCountsMVec targetIndex (targetCount + 1)     targetCountsVec <- UnboxedVector.unsafeFreeze targetCountsMVec@@ -48,7 +48,7 @@   unsafePerformIO $ do     targetCountsMVec <- MutableUnboxedVector.new targetAmount     flip UnboxedVector.imapM_ sourceCountsVec $ \ sourceIndex sourceCount -> if sourceCount >= minSourceCount-      then UnfoldM.forM_ (fmap fromIntegral $ PrimMultiArray.toUnfoldAtM edgesPma sourceIndex) $ \ targetIndex -> do+      then UnfoldlM.forM_ (fmap fromIntegral $ PrimMultiArray.toUnfoldlAtM edgesPma sourceIndex) $ \ targetIndex -> do         targetCount <- MutableUnboxedVector.read targetCountsMVec targetIndex         MutableUnboxedVector.unsafeWrite targetCountsMVec targetIndex (targetCount + sourceCount)       else return ()
library/Edges/Prelude.hs view
@@ -110,8 +110,8 @@  -- deferred-folds --------------------------import DeferredFolds.Unfold as Exports (Unfold(..))-import DeferredFolds.UnfoldM as Exports (UnfoldM(..))+import DeferredFolds.Unfoldl as Exports (Unfoldl(..))+import DeferredFolds.UnfoldlM as Exports (UnfoldlM(..))  -- foldl -------------------------