Data.Array.ST
- Package
- purescript-arrays
- Repository
- purescript/purescript-arrays
Helper functions for working with mutable arrays using the ST
effect.
This module can be used when performance is important and mutation is a local effect.
#STArray Source
data STArray :: Region -> Type -> Type
A reference to a mutable array.
The first type parameter represents the memory region which the array belongs to. The second type parameter defines the type of elements of the mutable array.
The runtime representation of a value of type STArray h a
is the same as that of Array a
,
except that mutation is allowed.
#run Source
run :: forall a. (forall h. ST h (STArray h a)) -> Array a
A safe way to create and work with a mutable array before returning an immutable array for later perusal. This function avoids copying the array before returning it - it uses unsafeFreeze internally, but this wrapper is a safe interface to that function.
#unshiftAll Source
unshiftAll :: forall h a. Array a -> STArray h a -> ST h Int
Append the values in an immutable array to the front of a mutable array. Returns the new length of the mutable array.
#unsafeFreeze Source
unsafeFreeze :: forall h a. STArray h a -> ST h (Array a)
O(1). Convert a mutable array to an immutable array, without copying. The mutable array must not be mutated afterwards.