packages feed

primitive-extras 0.1.3.1 → 0.1.4

raw patch · 2 files changed

+29/−1 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ PrimitiveExtras.IO: generatePrimArray :: Prim a => Int -> (Int -> IO a) -> IO (PrimArray a)
+ PrimitiveExtras.IO: replicatePrimArray :: Prim a => Int -> IO a -> IO (PrimArray a)

Files

library/PrimitiveExtras/IO.hs view
@@ -39,3 +39,31 @@             loop (succ index)           else unsafeFreezeArray array       in loop 0++generatePrimArray :: Prim a => Int -> (Int -> IO a) -> IO (PrimArray a)+generatePrimArray size elementIO =+  do+    array <- newPrimArray size+    let+      loop index =+        if index < size+          then do+            element <- elementIO index+            writePrimArray array index element+            loop (succ index)+          else unsafeFreezePrimArray array+      in loop 0++replicatePrimArray :: Prim a => Int -> IO a -> IO (PrimArray a)+replicatePrimArray size elementIO =+  do+    array <- newPrimArray size+    let+      loop index =+        if index < size+          then do+            element <- elementIO+            writePrimArray array index element+            loop (succ index)+          else unsafeFreezePrimArray array+      in loop 0
primitive-extras.cabal view
@@ -1,7 +1,7 @@ name:   primitive-extras version:-  0.1.3.1+  0.1.4 category:   Primitive synopsis: