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 +14/−0
- primitive-extras.cabal +1/−1
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: