|Copyright||(c) The University of Glasgow 2001|
|License||BSD-style (see the file libraries/base/LICENSE)|
|Portability||non-portable (uses Data.Array.Base)|
- class Monad m => MArray a e m where
- module Data.Ix
- newListArray :: (MArray a e m, Ix i) => (i, i) -> [e] -> m (a i e)
- readArray :: (MArray a e m, Ix i) => a i e -> i -> m e
- writeArray :: (MArray a e m, Ix i) => a i e -> i -> e -> m ()
- mapArray :: (MArray a e' m, MArray a e m, Ix i) => (e' -> e) -> a i e' -> m (a i e)
- mapIndices :: (MArray a e m, Ix i, Ix j) => (i, i) -> (i -> j) -> a j e -> m (a i e)
- getElems :: (MArray a e m, Ix i) => a i e -> m [e]
- getAssocs :: (MArray a e m, Ix i) => a i e -> m [(i, e)]
- freeze :: (Ix i, MArray a e m, IArray b e) => a i e -> m (b i e)
- thaw :: (Ix i, IArray a e, MArray b e m) => a i e -> m (b i e)
Class of mutable array types
Class of mutable array types.
An array type has the form
(a i e) where
a is the array type
* -> * -> *),
i is the index type (a member of
e is the element type.
MArray class is parameterised over both
e (so that
instances specialised to certain element types can be defined, in the
same way as for
IArray), and also over the type of the monad,
in which the mutable array will be manipulated.
getBounds, getNumElements, unsafeRead, unsafeWrite
Returns the bounds of the array
Builds a new array, with every element initialised to the supplied value.
Builds a new array, with every element initialised to an undefined value. In a monadic context in which operations must be deterministic (e.g. the ST monad), the array elements are initialised to a fixed but undefined value, such as zero.
Ix class and operations
Constructing mutable arrays
Constructs a mutable array from a list of initial elements. The list gives the elements of the array in ascending order beginning with the lowest index.
Reading and writing mutable arrays
Write an element in a mutable array
Constructs a new array derived from the original array by applying a function to each of the elements.
Constructs a new array derived from the original array by applying a function to each of the indices.
Deconstructing mutable arrays
Return a list of all the elements of a mutable array
Return a list of all the associations of a mutable array, in index order.