-- 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
+-- 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"
+-- <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
#ifdef __GLASGOW_HASKELL__
import GHC.Arr
#endif
+
+#ifdef __HUGS__
+import Hugs.Prelude( Ix(..) )
+#endif
+
+#ifdef __NHC__
+import Ix (Ix(..))
+#endif
+