The Ix class is used to map a contiguous subrange of values in a type onto integers. It is used primarily for array indexing (see the array package).
The first argument (l,u) of each of these operations is a pair
specifying the lower and upper bounds of a contiguous subrange of values.
An implementation is entitled to assume the following laws about these operations:
Methods
range :: (a, a) -> [a]The list of values in the subrange defined by a bounding pair.
index :: (a, a) -> a -> IntThe position of a subscript in the subrange.
unsafeIndex :: (a, a) -> a -> IntLike index, but without checking that the value is in range.
inRange :: (a, a) -> a -> BoolReturns True the given subscript lies in the range defined the bounding pair.
rangeSize :: (a, a) -> IntThe size of the subrange defined by a bounding pair.
unsafeRangeSize :: (a, a) -> Intlike rangeSize, but without checking that the upper bound is in range.
Instances86Ix, …
Ix IntegerDefined in ghc-internal-9.1003.0 · GHC.Internal.IxIx NaturalDefined in ghc-internal-9.1003.0 · GHC.Internal.IxIx VoidDefined in ghc-internal-9.1003.0 · GHC.Internal.IxIx CBoolDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CCharDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CIntDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CIntMaxDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CIntPtrDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CLLongDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CLongDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CPtrdiffDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CSCharDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CShortDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CSigAtomicDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CSizeDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CUCharDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CUIntDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CUIntMaxDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CUIntPtrDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CULLongDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CULongDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CUShortDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx CWcharDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.C.TypesIx IntPtrDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.PtrIx WordPtrDefined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.PtrIx AssociativityDefined in ghc-internal-9.1003.0 · GHC.Internal.GenericsIx DecidedStrictnessDefined in ghc-internal-9.1003.0 · GHC.Internal.GenericsIx SourceStrictnessDefined in ghc-internal-9.1003.0 · GHC.Internal.GenericsIx SourceUnpackednessDefined in ghc-internal-9.1003.0 · GHC.Internal.GenericsIx SeekModeDefined in ghc-internal-9.1003.0 · GHC.Internal.IO.DeviceIx IOModeDefined in ghc-internal-9.1003.0 · GHC.Internal.IO.IOModeIx Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.IntIx Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.IntIx Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.IntIx Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.IntIx CBlkCntDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CBlkSizeDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CClockIdDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CDevDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CFsBlkCntDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CFsFilCntDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CGidDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CIdDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CInoDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CKeyDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CModeDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CNfdsDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CNlinkDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx COffDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CPidDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CRLimDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CSocklenDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CSsizeDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CTcflagDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx CUidDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx FdDefined in ghc-internal-9.1003.0 · GHC.Internal.System.Posix.TypesIx GeneralCategoryDefined in ghc-internal-9.1003.0 · GHC.Internal.UnicodeIx Word16Defined in ghc-internal-9.1003.0 · GHC.Internal.WordIx Word32Defined in ghc-internal-9.1003.0 · GHC.Internal.WordIx Word64Defined in ghc-internal-9.1003.0 · GHC.Internal.WordIx Word8Defined in ghc-internal-9.1003.0 · GHC.Internal.WordIx BoolDefined in ghc-internal-9.1003.0 · GHC.Internal.IxIx CharDefined in ghc-internal-9.1003.0 · GHC.Internal.IxIx IntDefined in ghc-internal-9.1003.0 · GHC.Internal.IxIx OrderingDefined in ghc-internal-9.1003.0 · GHC.Internal.IxIx WordDefined in ghc-internal-9.1003.0 · GHC.Internal.IxIx ()Defined in ghc-internal-9.1003.0 · GHC.Internal.IxIx a => Ix (Identity a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Functor.IdentityIx a => Ix (Down a)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.OrdIx a => Ix (a)Defined in ghc-internal-9.1003.0 · GHC.Internal.IxIx (Proxy s)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Proxy(Ix a, Ix b) => Ix (a, b)Defined in ghc-internal-9.1003.0 · GHC.Internal.IxIx a => Ix (Const a b)Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Functor.Const(Ix a1, Ix a2, Ix a3) => Ix (a1, a2, a3)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4) => Ix (a1, a2, a3, a4)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5) => Ix (a1, a2, a3, a4, a5)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6) => Ix (a1, a2, a3, a4, a5, a6)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7) => Ix (a1, a2, a3, a4, a5, a6, a7)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8) => Ix (a1, a2, a3, a4, a5, a6, a7, a8)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD, Ix aE) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix(Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9, Ix aA, Ix aB, Ix aC, Ix aD, Ix aE, Ix aF) => Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)Defined in ghc-internal-9.1003.0 · GHC.Internal.Ix