1 {-# OPTIONS -fno-implicit-prelude #-}
2 -----------------------------------------------------------------------------
5 -- Copyright : (c) The University of Glasgow 2001
6 -- License : BSD-style (see the file libraries/base/LICENSE)
8 -- Maintainer : libraries@haskell.org
9 -- Stability : provisional
10 -- Portability : portable
12 -- Basic non-strict arrays.
14 -----------------------------------------------------------------------------
19 module Data.Ix -- export all of Ix
20 , Array -- Array type is abstract
22 , array -- :: (Ix a) => (a,a) -> [(a,b)] -> Array a b
23 , listArray -- :: (Ix a) => (a,a) -> [b] -> Array a b
24 , (!) -- :: (Ix a) => Array a b -> a -> b
25 , bounds -- :: (Ix a) => Array a b -> (a,a)
26 , indices -- :: (Ix a) => Array a b -> [a]
27 , elems -- :: (Ix a) => Array a b -> [b]
28 , assocs -- :: (Ix a) => Array a b -> [(a,b)]
29 , accumArray -- :: (Ix a) => (b -> c -> b) -> b -> (a,a) -> [(a,c)] -> Array a b
30 , (//) -- :: (Ix a) => Array a b -> [(a,b)] -> Array a b
31 , accum -- :: (Ix a) => (b -> c -> b) -> Array a b -> [(a,c)] -> Array a b
32 , ixmap -- :: (Ix a, Ix b) => (a,a) -> (a -> b) -> Array b c -> Array a b
36 -- Ix a => Functor (Array a)
37 -- (Ix a, Eq b) => Eq (Array a b)
38 -- (Ix a, Ord b) => Ord (Array a b)
39 -- (Ix a, Show a, Show b) => Show (Array a b)
40 -- (Ix a, Read a, Read b) => Read (Array a b)
43 -- Implementation checked wrt. Haskell 98 lib report, 1/99.
49 #ifdef __GLASGOW_HASKELL__
51 import GHC.Arr -- Most of the hard work is done here
52 import GHC.Err ( undefined )
60 INSTANCE_TYPEABLE2(Array,arrayTc,"Array")