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