| Haskell Hierarchical Libraries (base package) | Contents | Index

Data.Array.Unboxed

Portability | non-portable
Stability | experimental
Maintainer | libraries@haskell.org

Contents

Arrays with unboxed elements
The overloaded immutable array interface

Description
Unboxed immutable arrays.
Synopsis

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

(Typeable a, Typeable b) => Typeable (UArray a b)
HasBounds UArray
IArray UArray Bool
IArray UArray Char
IArray UArray Int
IArray UArray Word
IArray UArray (Ptr a)
IArray UArray (FunPtr a)
IArray UArray Float
IArray UArray Double
IArray UArray (StablePtr a)
IArray UArray Int8
IArray UArray Int16
IArray UArray Int32
IArray UArray Int64
IArray UArray Word8
IArray UArray Word16
IArray UArray Word32
IArray UArray Word64
Ix ix => Eq (UArray ix Bool)
Ix ix => Eq (UArray ix Char)
Ix ix => Eq (UArray ix Int)
Ix ix => Eq (UArray ix Word)
Ix ix => Eq (UArray ix (Ptr a))
Ix ix => Eq (UArray ix (FunPtr a))
Ix ix => Eq (UArray ix Float)
Ix ix => Eq (UArray ix Double)
Ix ix => Eq (UArray ix (StablePtr a))
Ix ix => Eq (UArray ix Int8)
Ix ix => Eq (UArray ix Int16)
Ix ix => Eq (UArray ix Int32)
Ix ix => Eq (UArray ix Int64)
Ix ix => Eq (UArray ix Word8)
Ix ix => Eq (UArray ix Word16)
Ix ix => Eq (UArray ix Word32)
Ix ix => Eq (UArray ix Word64)
Ix ix => Ord (UArray ix Bool)
Ix ix => Ord (UArray ix Char)
Ix ix => Ord (UArray ix Int)
Ix ix => Ord (UArray ix Word)
Ix ix => Ord (UArray ix (Ptr a))
Ix ix => Ord (UArray ix (FunPtr a))
Ix ix => Ord (UArray ix Float)
Ix ix => Ord (UArray ix Double)
Ix ix => Ord (UArray ix Int8)
Ix ix => Ord (UArray ix Int16)
Ix ix => Ord (UArray ix Int32)
Ix ix => Ord (UArray ix Int64)
Ix ix => Ord (UArray ix Word8)
Ix ix => Ord (UArray ix Word16)
Ix ix => Ord (UArray ix Word32)
Ix ix => Ord (UArray ix Word64)
(Ix ix, Show ix) => Show (UArray ix Bool)
(Ix ix, Show ix) => Show (UArray ix Char)
(Ix ix, Show ix) => Show (UArray ix Int)
(Ix ix, Show ix) => Show (UArray ix Word)
(Ix ix, Show ix) => Show (UArray ix Float)
(Ix ix, Show ix) => Show (UArray ix Double)
(Ix ix, Show ix) => Show (UArray ix Int8)
(Ix ix, Show ix) => Show (UArray ix Int16)
(Ix ix, Show ix) => Show (UArray ix Int32)
(Ix ix, Show ix) => Show (UArray ix Int64)
(Ix ix, Show ix) => Show (UArray ix Word8)
(Ix ix, Show ix) => Show (UArray ix Word16)
(Ix ix, Show ix) => Show (UArray ix Word32)
(Ix ix, Show ix) => Show (UArray ix Word64)

The overloaded immutable array interface
module Data.Array.IArray
Produced by Haddock version 0.6