| Copyright | (c) The University of Glasgow 2001 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Maintainer | libraries@haskell.org |
| Stability | stable |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Data.Ix
Description
The Ix class
class Ord a => Ix a where Source #
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:
Minimal complete definition
range, (index | unsafeIndex), inRange
Methods
range :: (a, a) -> [a] Source #
The list of values in the subrange defined by a bounding pair.
index :: (a, a) -> a -> Int Source #
The position of a subscript in the subrange.
inRange :: (a, a) -> a -> Bool Source #
Returns True the given subscript lies in the range defined
the bounding pair.
rangeSize :: (a, a) -> Int Source #
The size of the subrange defined by a bounding pair.
Instances
| Ix Void Source # | Since: base-4.8.0.0 |
Defined in GHC.Internal.Ix | |
| Ix CBool Source # | |
Defined in GHC.Internal.Foreign.C.Types | |
| Ix CChar Source # | |
Defined in GHC.Internal.Foreign.C.Types | |
| Ix CInt Source # | |
Defined in GHC.Internal.Foreign.C.Types | |
| Ix CIntMax Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CIntMax, CIntMax) -> [CIntMax] Source # index :: (CIntMax, CIntMax) -> CIntMax -> Int Source # unsafeIndex :: (CIntMax, CIntMax) -> CIntMax -> Int Source # inRange :: (CIntMax, CIntMax) -> CIntMax -> Bool Source # rangeSize :: (CIntMax, CIntMax) -> Int Source # unsafeRangeSize :: (CIntMax, CIntMax) -> Int Source # | |
| Ix CIntPtr Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CIntPtr, CIntPtr) -> [CIntPtr] Source # index :: (CIntPtr, CIntPtr) -> CIntPtr -> Int Source # unsafeIndex :: (CIntPtr, CIntPtr) -> CIntPtr -> Int Source # inRange :: (CIntPtr, CIntPtr) -> CIntPtr -> Bool Source # rangeSize :: (CIntPtr, CIntPtr) -> Int Source # unsafeRangeSize :: (CIntPtr, CIntPtr) -> Int Source # | |
| Ix CLLong Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CLLong, CLLong) -> [CLLong] Source # index :: (CLLong, CLLong) -> CLLong -> Int Source # unsafeIndex :: (CLLong, CLLong) -> CLLong -> Int Source # inRange :: (CLLong, CLLong) -> CLLong -> Bool Source # rangeSize :: (CLLong, CLLong) -> Int Source # unsafeRangeSize :: (CLLong, CLLong) -> Int Source # | |
| Ix CLong Source # | |
Defined in GHC.Internal.Foreign.C.Types | |
| Ix CPtrdiff Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CPtrdiff, CPtrdiff) -> [CPtrdiff] Source # index :: (CPtrdiff, CPtrdiff) -> CPtrdiff -> Int Source # unsafeIndex :: (CPtrdiff, CPtrdiff) -> CPtrdiff -> Int Source # inRange :: (CPtrdiff, CPtrdiff) -> CPtrdiff -> Bool Source # rangeSize :: (CPtrdiff, CPtrdiff) -> Int Source # unsafeRangeSize :: (CPtrdiff, CPtrdiff) -> Int Source # | |
| Ix CSChar Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CSChar, CSChar) -> [CSChar] Source # index :: (CSChar, CSChar) -> CSChar -> Int Source # unsafeIndex :: (CSChar, CSChar) -> CSChar -> Int Source # inRange :: (CSChar, CSChar) -> CSChar -> Bool Source # rangeSize :: (CSChar, CSChar) -> Int Source # unsafeRangeSize :: (CSChar, CSChar) -> Int Source # | |
| Ix CShort Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CShort, CShort) -> [CShort] Source # index :: (CShort, CShort) -> CShort -> Int Source # unsafeIndex :: (CShort, CShort) -> CShort -> Int Source # inRange :: (CShort, CShort) -> CShort -> Bool Source # rangeSize :: (CShort, CShort) -> Int Source # unsafeRangeSize :: (CShort, CShort) -> Int Source # | |
| Ix CSigAtomic Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CSigAtomic, CSigAtomic) -> [CSigAtomic] Source # index :: (CSigAtomic, CSigAtomic) -> CSigAtomic -> Int Source # unsafeIndex :: (CSigAtomic, CSigAtomic) -> CSigAtomic -> Int Source # inRange :: (CSigAtomic, CSigAtomic) -> CSigAtomic -> Bool Source # rangeSize :: (CSigAtomic, CSigAtomic) -> Int Source # unsafeRangeSize :: (CSigAtomic, CSigAtomic) -> Int Source # | |
| Ix CSize Source # | |
Defined in GHC.Internal.Foreign.C.Types | |
| Ix CUChar Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CUChar, CUChar) -> [CUChar] Source # index :: (CUChar, CUChar) -> CUChar -> Int Source # unsafeIndex :: (CUChar, CUChar) -> CUChar -> Int Source # inRange :: (CUChar, CUChar) -> CUChar -> Bool Source # rangeSize :: (CUChar, CUChar) -> Int Source # unsafeRangeSize :: (CUChar, CUChar) -> Int Source # | |
| Ix CUInt Source # | |
Defined in GHC.Internal.Foreign.C.Types | |
| Ix CUIntMax Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CUIntMax, CUIntMax) -> [CUIntMax] Source # index :: (CUIntMax, CUIntMax) -> CUIntMax -> Int Source # unsafeIndex :: (CUIntMax, CUIntMax) -> CUIntMax -> Int Source # inRange :: (CUIntMax, CUIntMax) -> CUIntMax -> Bool Source # rangeSize :: (CUIntMax, CUIntMax) -> Int Source # unsafeRangeSize :: (CUIntMax, CUIntMax) -> Int Source # | |
| Ix CUIntPtr Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CUIntPtr, CUIntPtr) -> [CUIntPtr] Source # index :: (CUIntPtr, CUIntPtr) -> CUIntPtr -> Int Source # unsafeIndex :: (CUIntPtr, CUIntPtr) -> CUIntPtr -> Int Source # inRange :: (CUIntPtr, CUIntPtr) -> CUIntPtr -> Bool Source # rangeSize :: (CUIntPtr, CUIntPtr) -> Int Source # unsafeRangeSize :: (CUIntPtr, CUIntPtr) -> Int Source # | |
| Ix CULLong Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CULLong, CULLong) -> [CULLong] Source # index :: (CULLong, CULLong) -> CULLong -> Int Source # unsafeIndex :: (CULLong, CULLong) -> CULLong -> Int Source # inRange :: (CULLong, CULLong) -> CULLong -> Bool Source # rangeSize :: (CULLong, CULLong) -> Int Source # unsafeRangeSize :: (CULLong, CULLong) -> Int Source # | |
| Ix CULong Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CULong, CULong) -> [CULong] Source # index :: (CULong, CULong) -> CULong -> Int Source # unsafeIndex :: (CULong, CULong) -> CULong -> Int Source # inRange :: (CULong, CULong) -> CULong -> Bool Source # rangeSize :: (CULong, CULong) -> Int Source # unsafeRangeSize :: (CULong, CULong) -> Int Source # | |
| Ix CUShort Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CUShort, CUShort) -> [CUShort] Source # index :: (CUShort, CUShort) -> CUShort -> Int Source # unsafeIndex :: (CUShort, CUShort) -> CUShort -> Int Source # inRange :: (CUShort, CUShort) -> CUShort -> Bool Source # rangeSize :: (CUShort, CUShort) -> Int Source # unsafeRangeSize :: (CUShort, CUShort) -> Int Source # | |
| Ix CWchar Source # | |
Defined in GHC.Internal.Foreign.C.Types Methods range :: (CWchar, CWchar) -> [CWchar] Source # index :: (CWchar, CWchar) -> CWchar -> Int Source # unsafeIndex :: (CWchar, CWchar) -> CWchar -> Int Source # inRange :: (CWchar, CWchar) -> CWchar -> Bool Source # rangeSize :: (CWchar, CWchar) -> Int Source # unsafeRangeSize :: (CWchar, CWchar) -> Int Source # | |
| Ix IntPtr Source # | |
Defined in GHC.Internal.Foreign.Ptr Methods range :: (IntPtr, IntPtr) -> [IntPtr] Source # index :: (IntPtr, IntPtr) -> IntPtr -> Int Source # unsafeIndex :: (IntPtr, IntPtr) -> IntPtr -> Int Source # inRange :: (IntPtr, IntPtr) -> IntPtr -> Bool Source # rangeSize :: (IntPtr, IntPtr) -> Int Source # unsafeRangeSize :: (IntPtr, IntPtr) -> Int Source # | |
| Ix WordPtr Source # | |
Defined in GHC.Internal.Foreign.Ptr Methods range :: (WordPtr, WordPtr) -> [WordPtr] Source # index :: (WordPtr, WordPtr) -> WordPtr -> Int Source # unsafeIndex :: (WordPtr, WordPtr) -> WordPtr -> Int Source # inRange :: (WordPtr, WordPtr) -> WordPtr -> Bool Source # rangeSize :: (WordPtr, WordPtr) -> Int Source # unsafeRangeSize :: (WordPtr, WordPtr) -> Int Source # | |
| Ix Associativity Source # | Since: base-4.9.0.0 |
Defined in GHC.Internal.Generics Methods range :: (Associativity, Associativity) -> [Associativity] Source # index :: (Associativity, Associativity) -> Associativity -> Int Source # unsafeIndex :: (Associativity, Associativity) -> Associativity -> Int Source # inRange :: (Associativity, Associativity) -> Associativity -> Bool Source # rangeSize :: (Associativity, Associativity) -> Int Source # unsafeRangeSize :: (Associativity, Associativity) -> Int Source # | |
| Ix DecidedStrictness Source # | Since: base-4.9.0.0 |
Defined in GHC.Internal.Generics Methods range :: (DecidedStrictness, DecidedStrictness) -> [DecidedStrictness] Source # index :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int Source # unsafeIndex :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Int Source # inRange :: (DecidedStrictness, DecidedStrictness) -> DecidedStrictness -> Bool Source # rangeSize :: (DecidedStrictness, DecidedStrictness) -> Int Source # unsafeRangeSize :: (DecidedStrictness, DecidedStrictness) -> Int Source # | |
| Ix SourceStrictness Source # | Since: base-4.9.0.0 |
Defined in GHC.Internal.Generics Methods range :: (SourceStrictness, SourceStrictness) -> [SourceStrictness] Source # index :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int Source # unsafeIndex :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Int Source # inRange :: (SourceStrictness, SourceStrictness) -> SourceStrictness -> Bool Source # rangeSize :: (SourceStrictness, SourceStrictness) -> Int Source # unsafeRangeSize :: (SourceStrictness, SourceStrictness) -> Int Source # | |
| Ix SourceUnpackedness Source # | Since: base-4.9.0.0 |
Defined in GHC.Internal.Generics Methods range :: (SourceUnpackedness, SourceUnpackedness) -> [SourceUnpackedness] Source # index :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int Source # unsafeIndex :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Int Source # inRange :: (SourceUnpackedness, SourceUnpackedness) -> SourceUnpackedness -> Bool Source # rangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int Source # unsafeRangeSize :: (SourceUnpackedness, SourceUnpackedness) -> Int Source # | |
| Ix SeekMode Source # | Since: base-4.2.0.0 |
Defined in GHC.Internal.IO.Device Methods range :: (SeekMode, SeekMode) -> [SeekMode] Source # index :: (SeekMode, SeekMode) -> SeekMode -> Int Source # unsafeIndex :: (SeekMode, SeekMode) -> SeekMode -> Int Source # inRange :: (SeekMode, SeekMode) -> SeekMode -> Bool Source # rangeSize :: (SeekMode, SeekMode) -> Int Source # unsafeRangeSize :: (SeekMode, SeekMode) -> Int Source # | |
| Ix IOMode Source # | Since: base-4.2.0.0 |
Defined in GHC.Internal.IO.IOMode Methods range :: (IOMode, IOMode) -> [IOMode] Source # index :: (IOMode, IOMode) -> IOMode -> Int Source # unsafeIndex :: (IOMode, IOMode) -> IOMode -> Int Source # inRange :: (IOMode, IOMode) -> IOMode -> Bool Source # rangeSize :: (IOMode, IOMode) -> Int Source # unsafeRangeSize :: (IOMode, IOMode) -> Int Source # | |
| Ix Int16 Source # | Since: base-2.1 |
Defined in GHC.Internal.Int | |
| Ix Int32 Source # | Since: base-2.1 |
Defined in GHC.Internal.Int | |
| Ix Int64 Source # | Since: base-2.1 |
Defined in GHC.Internal.Int | |
| Ix Int8 Source # | Since: base-2.1 |
Defined in GHC.Internal.Int | |
| Ix CBlkCnt Source # | |
Defined in GHC.Internal.System.Posix.Types Methods range :: (CBlkCnt, CBlkCnt) -> [CBlkCnt] Source # index :: (CBlkCnt, CBlkCnt) -> CBlkCnt -> Int Source # unsafeIndex :: (CBlkCnt, CBlkCnt) -> CBlkCnt -> Int Source # inRange :: (CBlkCnt, CBlkCnt) -> CBlkCnt -> Bool Source # rangeSize :: (CBlkCnt, CBlkCnt) -> Int Source # unsafeRangeSize :: (CBlkCnt, CBlkCnt) -> Int Source # | |
| Ix CBlkSize Source # | |
Defined in GHC.Internal.System.Posix.Types Methods range :: (CBlkSize, CBlkSize) -> [CBlkSize] Source # index :: (CBlkSize, CBlkSize) -> CBlkSize -> Int Source # unsafeIndex :: (CBlkSize, CBlkSize) -> CBlkSize -> Int Source # inRange :: (CBlkSize, CBlkSize) -> CBlkSize -> Bool Source # rangeSize :: (CBlkSize, CBlkSize) -> Int Source # unsafeRangeSize :: (CBlkSize, CBlkSize) -> Int Source # | |
| Ix CClockId Source # | |
Defined in GHC.Internal.System.Posix.Types Methods range :: (CClockId, CClockId) -> [CClockId] Source # index :: (CClockId, CClockId) -> CClockId -> Int Source # unsafeIndex :: (CClockId, CClockId) -> CClockId -> Int Source # inRange :: (CClockId, CClockId) -> CClockId -> Bool Source # rangeSize :: (CClockId, CClockId) -> Int Source # unsafeRangeSize :: (CClockId, CClockId) -> Int Source # | |
| Ix CDev Source # | |
Defined in GHC.Internal.System.Posix.Types | |
| Ix CFsBlkCnt Source # | |
Defined in GHC.Internal.System.Posix.Types Methods range :: (CFsBlkCnt, CFsBlkCnt) -> [CFsBlkCnt] Source # index :: (CFsBlkCnt, CFsBlkCnt) -> CFsBlkCnt -> Int Source # unsafeIndex :: (CFsBlkCnt, CFsBlkCnt) -> CFsBlkCnt -> Int Source # inRange :: (CFsBlkCnt, CFsBlkCnt) -> CFsBlkCnt -> Bool Source # rangeSize :: (CFsBlkCnt, CFsBlkCnt) -> Int Source # unsafeRangeSize :: (CFsBlkCnt, CFsBlkCnt) -> Int Source # | |
| Ix CFsFilCnt Source # | |
Defined in GHC.Internal.System.Posix.Types Methods range :: (CFsFilCnt, CFsFilCnt) -> [CFsFilCnt] Source # index :: (CFsFilCnt, CFsFilCnt) -> CFsFilCnt -> Int Source # unsafeIndex :: (CFsFilCnt, CFsFilCnt) -> CFsFilCnt -> Int Source # inRange :: (CFsFilCnt, CFsFilCnt) -> CFsFilCnt -> Bool Source # rangeSize :: (CFsFilCnt, CFsFilCnt) -> Int Source # unsafeRangeSize :: (CFsFilCnt, CFsFilCnt) -> Int Source # | |
| Ix CGid Source # | |
Defined in GHC.Internal.System.Posix.Types | |
| Ix CId Source # | |
Defined in GHC.Internal.System.Posix.Types | |
| Ix CIno Source # | |
Defined in GHC.Internal.System.Posix.Types | |
| Ix CKey Source # | |
Defined in GHC.Internal.System.Posix.Types | |
| Ix CMode Source # | |
Defined in GHC.Internal.System.Posix.Types | |
| Ix CNfds Source # | |
Defined in GHC.Internal.System.Posix.Types | |
| Ix CNlink Source # | |
Defined in GHC.Internal.System.Posix.Types Methods range :: (CNlink, CNlink) -> [CNlink] Source # index :: (CNlink, CNlink) -> CNlink -> Int Source # unsafeIndex :: (CNlink, CNlink) -> CNlink -> Int Source # inRange :: (CNlink, CNlink) -> CNlink -> Bool Source # rangeSize :: (CNlink, CNlink) -> Int Source # unsafeRangeSize :: (CNlink, CNlink) -> Int Source # | |
| Ix COff Source # | |
Defined in GHC.Internal.System.Posix.Types | |
| Ix CPid Source # | |
Defined in GHC.Internal.System.Posix.Types | |
| Ix CRLim Source # | |
Defined in GHC.Internal.System.Posix.Types | |
| Ix CSocklen Source # | |
Defined in GHC.Internal.System.Posix.Types Methods range :: (CSocklen, CSocklen) -> [CSocklen] Source # index :: (CSocklen, CSocklen) -> CSocklen -> Int Source # unsafeIndex :: (CSocklen, CSocklen) -> CSocklen -> Int Source # inRange :: (CSocklen, CSocklen) -> CSocklen -> Bool Source # rangeSize :: (CSocklen, CSocklen) -> Int Source # unsafeRangeSize :: (CSocklen, CSocklen) -> Int Source # | |
| Ix CSsize Source # | |
Defined in GHC.Internal.System.Posix.Types Methods range :: (CSsize, CSsize) -> [CSsize] Source # index :: (CSsize, CSsize) -> CSsize -> Int Source # unsafeIndex :: (CSsize, CSsize) -> CSsize -> Int Source # inRange :: (CSsize, CSsize) -> CSsize -> Bool Source # rangeSize :: (CSsize, CSsize) -> Int Source # unsafeRangeSize :: (CSsize, CSsize) -> Int Source # | |
| Ix CTcflag Source # | |
Defined in GHC.Internal.System.Posix.Types Methods range :: (CTcflag, CTcflag) -> [CTcflag] Source # index :: (CTcflag, CTcflag) -> CTcflag -> Int Source # unsafeIndex :: (CTcflag, CTcflag) -> CTcflag -> Int Source # inRange :: (CTcflag, CTcflag) -> CTcflag -> Bool Source # rangeSize :: (CTcflag, CTcflag) -> Int Source # unsafeRangeSize :: (CTcflag, CTcflag) -> Int Source # | |
| Ix CUid Source # | |
Defined in GHC.Internal.System.Posix.Types | |
| Ix Fd Source # | |
| Ix Ordering Source # | Since: base-2.1 |
Defined in GHC.Internal.Ix Methods range :: (Ordering, Ordering) -> [Ordering] Source # index :: (Ordering, Ordering) -> Ordering -> Int Source # unsafeIndex :: (Ordering, Ordering) -> Ordering -> Int Source # inRange :: (Ordering, Ordering) -> Ordering -> Bool Source # rangeSize :: (Ordering, Ordering) -> Int Source # unsafeRangeSize :: (Ordering, Ordering) -> Int Source # | |
| Ix GeneralCategory Source # | Since: base-2.1 |
Defined in GHC.Internal.Unicode Methods range :: (GeneralCategory, GeneralCategory) -> [GeneralCategory] Source # index :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int Source # unsafeIndex :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int Source # inRange :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Bool Source # rangeSize :: (GeneralCategory, GeneralCategory) -> Int Source # unsafeRangeSize :: (GeneralCategory, GeneralCategory) -> Int Source # | |
| Ix Word16 Source # | Since: base-2.1 |
Defined in GHC.Internal.Word Methods range :: (Word16, Word16) -> [Word16] Source # index :: (Word16, Word16) -> Word16 -> Int Source # unsafeIndex :: (Word16, Word16) -> Word16 -> Int Source # inRange :: (Word16, Word16) -> Word16 -> Bool Source # rangeSize :: (Word16, Word16) -> Int Source # unsafeRangeSize :: (Word16, Word16) -> Int Source # | |
| Ix Word32 Source # | Since: base-2.1 |
Defined in GHC.Internal.Word Methods range :: (Word32, Word32) -> [Word32] Source # index :: (Word32, Word32) -> Word32 -> Int Source # unsafeIndex :: (Word32, Word32) -> Word32 -> Int Source # inRange :: (Word32, Word32) -> Word32 -> Bool Source # rangeSize :: (Word32, Word32) -> Int Source # unsafeRangeSize :: (Word32, Word32) -> Int Source # | |
| Ix Word64 Source # | Since: base-2.1 |
Defined in GHC.Internal.Word Methods range :: (Word64, Word64) -> [Word64] Source # index :: (Word64, Word64) -> Word64 -> Int Source # unsafeIndex :: (Word64, Word64) -> Word64 -> Int Source # inRange :: (Word64, Word64) -> Word64 -> Bool Source # rangeSize :: (Word64, Word64) -> Int Source # unsafeRangeSize :: (Word64, Word64) -> Int Source # | |
| Ix Word8 Source # | Since: base-2.1 |
Defined in GHC.Internal.Word | |
| Ix Integer Source # | Since: base-2.1 |
Defined in GHC.Internal.Ix Methods range :: (Integer, Integer) -> [Integer] Source # index :: (Integer, Integer) -> Integer -> Int Source # unsafeIndex :: (Integer, Integer) -> Integer -> Int Source # inRange :: (Integer, Integer) -> Integer -> Bool Source # rangeSize :: (Integer, Integer) -> Int Source # unsafeRangeSize :: (Integer, Integer) -> Int Source # | |
| Ix Natural Source # | Since: base-4.8.0.0 |
Defined in GHC.Internal.Ix Methods range :: (Natural, Natural) -> [Natural] Source # index :: (Natural, Natural) -> Natural -> Int Source # unsafeIndex :: (Natural, Natural) -> Natural -> Int Source # inRange :: (Natural, Natural) -> Natural -> Bool Source # rangeSize :: (Natural, Natural) -> Int Source # unsafeRangeSize :: (Natural, Natural) -> Int Source # | |
| Ix () Source # | Since: base-2.1 |
| Ix Bool Source # | Since: base-2.1 |
Defined in GHC.Internal.Ix | |
| Ix Char Source # | Since: base-2.1 |
Defined in GHC.Internal.Ix | |
| Ix Int Source # | Since: base-2.1 |
| Ix Word Source # | Since: base-4.6.0.0 |
Defined in GHC.Internal.Ix | |
| Ix a => Ix (Identity a) Source # | Since: base-4.9.0.0 |
Defined in GHC.Internal.Data.Functor.Identity Methods range :: (Identity a, Identity a) -> [Identity a] Source # index :: (Identity a, Identity a) -> Identity a -> Int Source # unsafeIndex :: (Identity a, Identity a) -> Identity a -> Int Source # inRange :: (Identity a, Identity a) -> Identity a -> Bool Source # rangeSize :: (Identity a, Identity a) -> Int Source # unsafeRangeSize :: (Identity a, Identity a) -> Int Source # | |
| Ix a => Ix (Down a) Source # | Since: base-4.14.0.0 |
Defined in GHC.Internal.Data.Ord Methods range :: (Down a, Down a) -> [Down a] Source # index :: (Down a, Down a) -> Down a -> Int Source # unsafeIndex :: (Down a, Down a) -> Down a -> Int Source # inRange :: (Down a, Down a) -> Down a -> Bool Source # rangeSize :: (Down a, Down a) -> Int Source # unsafeRangeSize :: (Down a, Down a) -> Int Source # | |
| Ix a => Ix (Solo a) Source # | |
Defined in GHC.Internal.Ix Methods range :: (Solo a, Solo a) -> [Solo a] Source # index :: (Solo a, Solo a) -> Solo a -> Int Source # unsafeIndex :: (Solo a, Solo a) -> Solo a -> Int Source # inRange :: (Solo a, Solo a) -> Solo a -> Bool Source # rangeSize :: (Solo a, Solo a) -> Int Source # unsafeRangeSize :: (Solo a, Solo a) -> Int Source # | |
| Ix (Proxy s) Source # | Since: base-4.7.0.0 |
Defined in GHC.Internal.Data.Proxy Methods range :: (Proxy s, Proxy s) -> [Proxy s] Source # index :: (Proxy s, Proxy s) -> Proxy s -> Int Source # unsafeIndex :: (Proxy s, Proxy s) -> Proxy s -> Int Source # inRange :: (Proxy s, Proxy s) -> Proxy s -> Bool Source # rangeSize :: (Proxy s, Proxy s) -> Int Source # unsafeRangeSize :: (Proxy s, Proxy s) -> Int Source # | |
| (Ix a, Ix b) => Ix (a, b) Source # | Since: base-2.1 |
Defined in GHC.Internal.Ix Methods range :: ((a, b), (a, b)) -> [(a, b)] Source # index :: ((a, b), (a, b)) -> (a, b) -> Int Source # unsafeIndex :: ((a, b), (a, b)) -> (a, b) -> Int Source # inRange :: ((a, b), (a, b)) -> (a, b) -> Bool Source # rangeSize :: ((a, b), (a, b)) -> Int Source # unsafeRangeSize :: ((a, b), (a, b)) -> Int Source # | |
| Ix a => Ix (Const a b) Source # | Since: base-4.9.0.0 |
Defined in GHC.Internal.Data.Functor.Const Methods range :: (Const a b, Const a b) -> [Const a b] Source # index :: (Const a b, Const a b) -> Const a b -> Int Source # unsafeIndex :: (Const a b, Const a b) -> Const a b -> Int Source # inRange :: (Const a b, Const a b) -> Const a b -> Bool Source # rangeSize :: (Const a b, Const a b) -> Int Source # unsafeRangeSize :: (Const a b, Const a b) -> Int Source # | |
| (Ix a1, Ix a2, Ix a3) => Ix (a1, a2, a3) Source # | Since: base-2.1 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3), (a1, a2, a3)) -> [(a1, a2, a3)] Source # index :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Int Source # unsafeIndex :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Int Source # inRange :: ((a1, a2, a3), (a1, a2, a3)) -> (a1, a2, a3) -> Bool Source # rangeSize :: ((a1, a2, a3), (a1, a2, a3)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3), (a1, a2, a3)) -> Int Source # | |
| (Ix a1, Ix a2, Ix a3, Ix a4) => Ix (a1, a2, a3, a4) Source # | Since: base-2.1 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> [(a1, a2, a3, a4)] Source # index :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Int Source # inRange :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> (a1, a2, a3, a4) -> Bool Source # rangeSize :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4), (a1, a2, a3, a4)) -> Int Source # | |
| (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5) => Ix (a1, a2, a3, a4, a5) Source # | Since: base-2.1 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> [(a1, a2, a3, a4, a5)] Source # index :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Int Source # inRange :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> (a1, a2, a3, a4, a5) -> Bool Source # rangeSize :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4, a5), (a1, a2, a3, a4, a5)) -> Int Source # | |
| (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6) => Ix (a1, a2, a3, a4, a5, a6) Source # | Since: base-4.15.0.0 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> [(a1, a2, a3, a4, a5, a6)] Source # index :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Int Source # inRange :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> (a1, a2, a3, a4, a5, a6) -> Bool Source # rangeSize :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6), (a1, a2, a3, a4, a5, a6)) -> Int Source # | |
| (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7) => Ix (a1, a2, a3, a4, a5, a6, a7) Source # | Since: base-4.15.0.0 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> [(a1, a2, a3, a4, a5, a6, a7)] Source # index :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Int Source # inRange :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> (a1, a2, a3, a4, a5, a6, a7) -> Bool Source # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7), (a1, a2, a3, a4, a5, a6, a7)) -> Int Source # | |
| (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) Source # | Since: base-4.15.0.0 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> [(a1, a2, a3, a4, a5, a6, a7, a8)] Source # index :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Int Source # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> (a1, a2, a3, a4, a5, a6, a7, a8) -> Bool Source # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8), (a1, a2, a3, a4, a5, a6, a7, a8)) -> Int Source # | |
| (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) Source # | Since: base-4.15.0.0 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9)] Source # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Int Source # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Bool Source # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9), (a1, a2, a3, a4, a5, a6, a7, a8, a9)) -> Int Source # | |
| (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) Source # | Since: base-4.15.0.0 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)] Source # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Int Source # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA) -> Bool Source # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)) -> Int Source # | |
| (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) Source # | Since: base-4.15.0.0 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)] Source # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Int Source # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB) -> Bool Source # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)) -> Int Source # | |
| (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) Source # | Since: base-4.15.0.0 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)] Source # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Int Source # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC) -> Bool Source # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)) -> Int Source # | |
| (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) Source # | Since: base-4.15.0.0 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)] Source # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Int Source # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD) -> Bool Source # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)) -> Int Source # | |
| (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) Source # | Since: base-4.15.0.0 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)] Source # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Int Source # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE) -> Bool Source # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)) -> Int Source # | |
| (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) Source # | Since: base-4.15.0.0 |
Defined in GHC.Internal.Ix Methods range :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> [(a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)] Source # index :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Int Source # unsafeIndex :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Int Source # inRange :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF) -> Bool Source # rangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> Int Source # unsafeRangeSize :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF), (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)) -> Int Source # | |
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,
whose constituent types are instances of Ix.
- For an enumeration, the nullary constructors are assumed to be
numbered left-to-right with the indices being 0 to n-1 inclusive. This
is the same numbering defined by the
Enumclass. For example, given the datatype:
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- For single-constructor datatypes, the derived instance declarations are as shown for tuples in chapter 19, section 2 of the Haskell 2010 report: https://www.haskell.org/onlinereport/haskell2010/haskellch19.html.