[project @ 2002-02-12 11:44:54 by simonmar]
[ghc-hetmet.git] / ghc / lib / std / Ix.lhs
1 % -----------------------------------------------------------------------------
2 % $Id: Ix.lhs,v 1.19 2001/08/29 09:34:05 simonmar Exp $
3 %
4 % (c) The University of Glasgow, 1994-2000
5 %
6
7 \section[Ix]{Module @Ix@}
8
9 \begin{code}
10 module Ix 
11     (
12         Ix
13           ( range       -- :: (Ix a) => (a,a) -> [a]
14           , index       -- :: (Ix a) => (a,a) -> a   -> Int
15           , inRange     -- :: (Ix a) => (a,a) -> a   -> Bool
16           , rangeSize   -- :: (Ix a) => (a,a) -> Int
17           )
18     -- Ix instances:
19     --
20     --  Ix Char
21     --  Ix Int
22     --  Ix Integer
23     --  Ix Bool
24     --  Ix Ordering
25     --  Ix ()
26     --  (Ix a, Ix b) => Ix (a, b)
27     --  ...
28
29     -- Implementation checked wrt. Haskell 98 lib report, 1/99.
30     ) where
31
32 import Prelude
33 #ifndef __HUGS__
34 import PrelArr
35 #endif
36 -- This module is empty, because Ix is defined in PrelArr.
37 -- Reason: it's needed internally in the Prelude.  
38 -- This module serves solely to export it to the user.
39
40 \end{code}
41