Remove unused imports from base
[ghc-base.git] / Data / Ix.hs
index 44e113a..fda6d58 100644 (file)
@@ -5,36 +5,23 @@
 -- License     :  BSD-style (see the file libraries/base/LICENSE)
 -- 
 -- Maintainer  :  libraries@haskell.org
--- Stability   :  provisional
+-- Stability   :  stable
 -- Portability :  portable
 --
--- Class of index types.
---
--- The "Ix" class is used to map a continuous subrange of values in a type onto
--- integers. It is used primarily for array indexing (see Section 6
--- <http://www.haskell.org/onlinelibrary/array.html#arrays>). The "Ix"
--- class contains the methods range, index, and inRange. The 'index' operation
--- maps a bounding pair, which defines the lower and upper bounds of the range,
--- and a subscript, to an integer. The 'range' operation enumerates all
--- subscripts; the 'inRange' operation tells whether a particular subscript
--- lies in the range defined by a bounding pair.
--- 
--- An implementation is entitled to assume the following laws about these
--- operations: 
--- 
--- >        range (l,u) !! index (l,u) i == i   -- when i is in range
--- 
--- >        inRange (l,u) i == i `elem` range (l,u)
+-- The 'Ix' class is used to map a contiguous subrange of values in
+-- type onto integers.  It is used primarily for array indexing
+-- (see the array package).
 -- 
 -----------------------------------------------------------------------------
 module Data.Ix
     (
-       Ix
-         ( range       -- :: (Ix a) => (a,a) -> [a]
-         , index       -- :: (Ix a) => (a,a) -> a   -> Int
-         , inRange     -- :: (Ix a) => (a,a) -> a   -> Bool
-         , rangeSize   -- :: (Ix a) => (a,a) -> Int
-         )
+    -- * The 'Ix' class
+        Ix
+          ( range       -- :: (Ix a) => (a,a) -> [a]
+          , index       -- :: (Ix a) => (a,a) -> a   -> Int
+          , inRange     -- :: (Ix a) => (a,a) -> a   -> Bool
+          , rangeSize   -- :: (Ix a) => (a,a) -> Int
+          )
     -- Ix instances:
     --
     --  Ix Char
@@ -48,7 +35,7 @@ module Data.Ix
 
     -- Implementation checked wrt. Haskell 98 lib report, 1/99.
 
-    -- * Deriving Instances of Ix
+    -- * Deriving Instances of 'Ix'
     -- | Derived instance declarations for the class 'Ix' are only possible
     -- for enumerations (i.e. datatypes having only nullary constructors)
     -- and single-constructor datatypes, including arbitrarily large tuples,
@@ -59,13 +46,13 @@ module Data.Ix
     -- is the same numbering defined by the 'Enum' class. For example, given
     -- the datatype: 
     -- 
-    -- >       data Colour = Red | Orange | Yellow | Green | Blue | Indigo | Violet
+    -- >        data Colour = Red | Orange | Yellow | Green | Blue | Indigo | Violet
     -- 
     -- we would have: 
     -- 
-    -- >       range   (Yellow,Blue)        ==  [Yellow,Green,Blue]
-    -- >       index   (Yellow,Blue) Green  ==  1
-    -- >       inRange (Yellow,Blue) Red    ==  False
+    -- >        range   (Yellow,Blue)        ==  [Yellow,Green,Blue]
+    -- >        index   (Yellow,Blue) Green  ==  1
+    -- >        inRange (Yellow,Blue) Red    ==  False
     -- 
     -- * For single-constructor datatypes, the derived instance declarations
     -- are as shown for tuples in Figure 1
@@ -73,7 +60,7 @@ module Data.Ix
 
     ) where
 
-import Prelude
+-- import Prelude
 
 #ifdef __GLASGOW_HASKELL__
 import GHC.Arr