packages feed

primitive-extras 0.1.2.2 → 0.1.3

raw patch · 2 files changed

+15/−1 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ PrimitiveExtras.IO: generateArray :: Int -> (Int -> IO a) -> IO (Array a)

Files

library/PrimitiveExtras/IO.hs view
@@ -11,3 +11,17 @@  replicateUnliftedArray :: PrimUnlifted a => Int -> IO a -> IO (UnliftedArray a) replicateUnliftedArray = A.replicateIO++generateArray :: Int -> (Int -> IO a) -> IO (Array a)+generateArray size elementIO =+  do+    array <- newArray size undefined+    let+      loop index =+        if index < size+          then do+            element <- elementIO index+            writeArray array index element+            loop (succ index)+          else unsafeFreezeArray array+      in loop 0
primitive-extras.cabal view
@@ -1,7 +1,7 @@ name:   primitive-extras version:-  0.1.2.2+  0.1.3 category:   Primitive synopsis: