|
Data.Array.ST | Portability | non-portable | Stability | experimental | Maintainer | libraries@haskell.org |
|
|
|
|
Contents |
- Boxed arrays
- Unboxed arrays
- Overloaded mutable array interface
|
|
Description |
Mutable boxed and unboxed arrays in the ST monad.
|
|
Synopsis |
|
|
|
|
Boxed arrays |
|
data STArray s i e |
Mutable, boxed, non-strict arrays in the ST monad. The type
arguments are as follows: s: the state variable argument for the ST type i: the index type of the array (should be an instance of Ix) e: the element type of the array.
| Instances | |
|
|
Unboxed arrays |
|
data STUArray s i a |
A mutable array with unboxed elements, that can be manipulated in
the ST monad. The type arguments are as follows: s: the state variable argument for the ST type i: the index type of the array (should be an instance of Ix) e: the element type of the array. Only certain element types
are supported.
An STUArray will generally be more efficient (in terms of both time
and space) than the equivalent boxed version (STArray) with the same
element type. However, STUArray is strict in its elements - so
don't use STUArray if you require the non-strictness that
STArray provides. | Instances | |
|
|
castSTUArray :: STUArray s ix a -> ST s (STUArray s ix b) |
Casts an STUArray with one element type into one with a
different element type. All the elements of the resulting array
are undefined (unless you know what you're doing...). |
|
Overloaded mutable array interface |
|
module Data.Array.MArray |
|
Produced by Haddock version 0.4 |