From: simonmar Date: Tue, 28 May 2002 15:04:54 +0000 (+0000) Subject: [project @ 2002-05-28 15:04:54 by simonmar] X-Git-Tag: nhc98-1-18-release~998 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=0cc2d64638ed3116cd9d23be58afb14c07193d97;p=ghc-base.git [project @ 2002-05-28 15:04:54 by simonmar] Documentation --- diff --git a/Data/Array/IArray.hs b/Data/Array/IArray.hs index 3f1706c..ec42d7d 100644 --- a/Data/Array/IArray.hs +++ b/Data/Array/IArray.hs @@ -8,31 +8,44 @@ -- Stability : experimental -- Portability : non-portable -- --- Overloaded immutable array class. +-- Immutable arrays, with an overloaded interface. For array types +-- which can be used with this interface, see "Data.Array", +-- "Data.Array.Unboxed", and "Data.Array.Diff". -- ----------------------------------------------------------------------------- module Data.Array.IArray ( - module Data.Ix, - - -- Class of immutable array types + -- * Class of immutable array types IArray, -- :: (* -> * -> *) -> * -> class - -- Class of array types with immutable bounds + + -- * Class of array types with immutable bounds HasBounds, -- :: (* -> * -> *) -> class + -- * The @Ix@ class and operations + module Data.Ix, + + -- * Array construction array, -- :: (IArray a e, Ix i) => (i,i) -> [(i, e)] -> a i e listArray, -- :: (IArray a e, Ix i) => (i,i) -> [e] -> a i e + accumArray, -- :: (IArray a e, Ix i) => (e -> e' -> e) -> e -> (i,i) -> [(i, e')] -> a i e + + -- * Indexing arrays (!), -- :: (IArray a e, Ix i) => a i e -> i -> e + + -- * Incremental updates + (//), -- :: (IArray a e, Ix i) => a i e -> [(i, e)] -> a i e + accum, -- :: (IArray a e, Ix i) => (e -> e' -> e) -> a i e -> [(i, e')] -> a i e + + -- * Derived Arrays + amap, -- :: (IArray a e', IArray a e, Ix i) => (e' -> e) -> a i e' -> a i e + ixmap, -- :: (IArray a e, Ix i, Ix j) => (i,i) -> (i -> j) -> a j e -> a i e + + -- * Deconstructing arrays bounds, -- :: (HasBounds a, Ix i) => a i e -> (i,i) indices, -- :: (HasBounds a, Ix i) => a i e -> [i] elems, -- :: (IArray a e, Ix i) => a i e -> [e] assocs, -- :: (IArray a e, Ix i) => a i e -> [(i, e)] - accumArray, -- :: (IArray a e, Ix i) => (e -> e' -> e) -> e -> (i,i) -> [(i, e')] -> a i e - (//), -- :: (IArray a e, Ix i) => a i e -> [(i, e)] -> a i e - accum, -- :: (IArray a e, Ix i) => (e -> e' -> e) -> a i e -> [(i, e')] -> a i e - amap, -- :: (IArray a e', IArray a e, Ix i) => (e' -> e) -> a i e' -> a i e - ixmap) -- :: (IArray a e, Ix i, Ix j) => (i,i) -> (i -> j) -> a j e -> a i e - where + ) where import Prelude