| Copyright | (c) The University of Glasgow 2001 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Maintainer | libraries@haskell.org |
| Stability | experimental |
| Portability | non-portable (uses Data.Array.IArray) |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
Data.Array.Unboxed
Description
Unboxed immutable arrays.
- data UArray i e
- module Data.Array.IArray
Arrays with unboxed elements
data UArray i e
Arrays with unboxed elements. Instances of IArray are provided
for UArray with certain element types (Int, Float, Char,
etc.; see the UArray class for a full list).
A UArray will generally be more efficient (in terms of both time
and space) than the equivalent Array with the same
element type. However, UArray is strict in its elements - so
don't use UArray if you require the non-strictness that
Array provides.
Because the IArray interface provides operations overloaded on
the type of the array, it should be possible to just change the
array type being used by a program from say Array to UArray to
get the benefits of unboxed arrays (don't forget to import
Data.Array.Unboxed instead of Data.Array).
Instances
| IArray UArray Bool | |
| IArray UArray Char | |
| IArray UArray Double | |
| IArray UArray Float | |
| IArray UArray Int | |
| IArray UArray Int8 | |
| IArray UArray Int16 | |
| IArray UArray Int32 | |
| IArray UArray Int64 | |
| IArray UArray Word | |
| IArray UArray Word8 | |
| IArray UArray Word16 | |
| IArray UArray Word32 | |
| IArray UArray Word64 | |
| IArray UArray (StablePtr a) | |
| IArray UArray (Ptr a) | |
| IArray UArray (FunPtr a) | |
| (Ix ix, Eq e, IArray UArray e) => Eq (UArray ix e) | |
| (Ix ix, Ord e, IArray UArray e) => Ord (UArray ix e) | |
| (Ix ix, Show ix, Show e, IArray UArray e) => Show (UArray ix e) |
The overloaded immutable array interface
module Data.Array.IArray