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 |
Unboxed immutable arrays.
Synopsis
- data UArray i e
- module Data.Array.IArray
Arrays with unboxed elements
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
The overloaded immutable array interface
module Data.Array.IArray