primitive-extras 0.1.1 → 0.1.2
raw patch · 2 files changed
+22/−1 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ PrimitiveExtras.UnfoldM: primArray :: (Monad m, Prim prim) => PrimArray prim -> UnfoldM m prim
+ PrimitiveExtras.UnfoldM: primMultiArrayAt :: (Monad m, Prim prim) => PrimMultiArray prim -> Int -> UnfoldM m prim
+ PrimitiveExtras.UnfoldM: primMultiArrayIndices :: Monad m => PrimMultiArray a -> UnfoldM m Int
Files
+ library/PrimitiveExtras/UnfoldM.hs view
@@ -0,0 +1,20 @@+module PrimitiveExtras.UnfoldM+where++import PrimitiveExtras.Prelude hiding (fold)+import PrimitiveExtras.Types+import DeferredFolds.UnfoldM+import qualified PrimitiveExtras.Fold as A+import qualified PrimitiveExtras.UnliftedArray as B+++primMultiArrayIndices :: Monad m => PrimMultiArray a -> UnfoldM m Int+primMultiArrayIndices (PrimMultiArray ua) =+ intsInRange 0 (pred (sizeofUnliftedArray ua))++primMultiArrayAt :: (Monad m, Prim prim) => PrimMultiArray prim -> Int -> UnfoldM m prim+primMultiArrayAt (PrimMultiArray ua) index =+ B.at ua index empty primArray++primArray :: (Monad m, Prim prim) => PrimArray prim -> UnfoldM m prim+primArray ba = UnfoldM $ \f z -> foldlPrimArrayM' f z ba
primitive-extras.cabal view
@@ -1,7 +1,7 @@ name: primitive-extras version:- 0.1.1+ 0.1.2 category: Primitive synopsis:@@ -43,6 +43,7 @@ PrimitiveExtras.Monad PrimitiveExtras.IO PrimitiveExtras.Unfold+ PrimitiveExtras.UnfoldM PrimitiveExtras.Fold PrimitiveExtras.Pure other-modules: