base-4.16.3.0: Basic libraries
Copyright (c) The University of Glasgow 2001 BSD-style (see the file libraries/base/LICENSE) libraries@haskell.org stable portable Trustworthy Haskell2010

Data.Ix

Description

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). Ix uses row-major order.

Synopsis

# 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:

• inRange (l,u) i == elem i (range (l,u)) 
• range (l,u) !! index (l,u) i == i, when inRange (l,u) i
• map (index (l,u)) (range (l,u))) == [0..rangeSize (l,u)-1] 
• rangeSize (l,u) == length (range (l,u)) 

Minimal complete definition

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

Instances details
 Source # Since: base-4.8.0.0 Instance detailsDefined in Data.Void Methodsrange :: (Void, Void) -> [Void] Source #index :: (Void, Void) -> Void -> Int Source #unsafeIndex :: (Void, Void) -> Void -> Int Source #inRange :: (Void, Void) -> Void -> Bool Source #rangeSize :: (Void, Void) -> Int Source #unsafeRangeSize :: (Void, Void) -> Int Source # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (CBool, CBool) -> [CBool] Source #index :: (CBool, CBool) -> CBool -> Int Source #unsafeIndex :: (CBool, CBool) -> CBool -> Int Source #inRange :: (CBool, CBool) -> CBool -> Bool Source #rangeSize :: (CBool, CBool) -> Int Source #unsafeRangeSize :: (CBool, CBool) -> Int Source # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (CChar, CChar) -> [CChar] Source #index :: (CChar, CChar) -> CChar -> Int Source #unsafeIndex :: (CChar, CChar) -> CChar -> Int Source #inRange :: (CChar, CChar) -> CChar -> Bool Source #rangeSize :: (CChar, CChar) -> Int Source #unsafeRangeSize :: (CChar, CChar) -> Int Source # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (CInt, CInt) -> [CInt] Source #index :: (CInt, CInt) -> CInt -> Int Source #unsafeIndex :: (CInt, CInt) -> CInt -> Int Source #inRange :: (CInt, CInt) -> CInt -> Bool Source #rangeSize :: (CInt, CInt) -> Int Source #unsafeRangeSize :: (CInt, CInt) -> Int Source # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (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 # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (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 # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (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 # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (CLong, CLong) -> [CLong] Source #index :: (CLong, CLong) -> CLong -> Int Source #unsafeIndex :: (CLong, CLong) -> CLong -> Int Source #inRange :: (CLong, CLong) -> CLong -> Bool Source #rangeSize :: (CLong, CLong) -> Int Source #unsafeRangeSize :: (CLong, CLong) -> Int Source # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (CPtrdiff, CPtrdiff) -> [CPtrdiff] Source #index :: (CPtrdiff, CPtrdiff) -> CPtrdiff -> Int Source #inRange :: (CPtrdiff, CPtrdiff) -> CPtrdiff -> Bool Source #rangeSize :: (CPtrdiff, CPtrdiff) -> Int Source # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (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 # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (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 # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (CSigAtomic, CSigAtomic) -> [CSigAtomic] Source # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (CSize, CSize) -> [CSize] Source #index :: (CSize, CSize) -> CSize -> Int Source #unsafeIndex :: (CSize, CSize) -> CSize -> Int Source #inRange :: (CSize, CSize) -> CSize -> Bool Source #rangeSize :: (CSize, CSize) -> Int Source #unsafeRangeSize :: (CSize, CSize) -> Int Source # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (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 # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (CUInt, CUInt) -> [CUInt] Source #index :: (CUInt, CUInt) -> CUInt -> Int Source #unsafeIndex :: (CUInt, CUInt) -> CUInt -> Int Source #inRange :: (CUInt, CUInt) -> CUInt -> Bool Source #rangeSize :: (CUInt, CUInt) -> Int Source #unsafeRangeSize :: (CUInt, CUInt) -> Int Source # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (CUIntMax, CUIntMax) -> [CUIntMax] Source #index :: (CUIntMax, CUIntMax) -> CUIntMax -> Int Source #inRange :: (CUIntMax, CUIntMax) -> CUIntMax -> Bool Source #rangeSize :: (CUIntMax, CUIntMax) -> Int Source # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (CUIntPtr, CUIntPtr) -> [CUIntPtr] Source #index :: (CUIntPtr, CUIntPtr) -> CUIntPtr -> Int Source #inRange :: (CUIntPtr, CUIntPtr) -> CUIntPtr -> Bool Source #rangeSize :: (CUIntPtr, CUIntPtr) -> Int Source # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (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 # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (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 # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (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 # Source # Instance detailsDefined in Foreign.C.Types Methodsrange :: (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 # Source # Instance detailsDefined in Foreign.Ptr Methodsrange :: (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 # Source # Instance detailsDefined in Foreign.Ptr Methodsrange :: (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 # Source # Since: base-4.9.0.0 Instance detailsDefined in GHC.Generics Methods Source # Since: base-4.9.0.0 Instance detailsDefined in GHC.Generics Methods Source # Since: base-4.9.0.0 Instance detailsDefined in GHC.Generics Methods Source # Since: base-4.9.0.0 Instance detailsDefined in GHC.Generics Methods Source # Since: base-4.2.0.0 Instance detailsDefined in GHC.IO.Device Methodsrange :: (SeekMode, SeekMode) -> [SeekMode] Source #index :: (SeekMode, SeekMode) -> SeekMode -> Int Source #inRange :: (SeekMode, SeekMode) -> SeekMode -> Bool Source #rangeSize :: (SeekMode, SeekMode) -> Int Source # Source # Since: base-4.2.0.0 Instance detailsDefined in GHC.IO.IOMode Methodsrange :: (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 # Source # Since: base-2.1 Instance detailsDefined in GHC.Int Methodsrange :: (Int16, Int16) -> [Int16] Source #index :: (Int16, Int16) -> Int16 -> Int Source #unsafeIndex :: (Int16, Int16) -> Int16 -> Int Source #inRange :: (Int16, Int16) -> Int16 -> Bool Source #rangeSize :: (Int16, Int16) -> Int Source #unsafeRangeSize :: (Int16, Int16) -> Int Source # Source # Since: base-2.1 Instance detailsDefined in GHC.Int Methodsrange :: (Int32, Int32) -> [Int32] Source #index :: (Int32, Int32) -> Int32 -> Int Source #unsafeIndex :: (Int32, Int32) -> Int32 -> Int Source #inRange :: (Int32, Int32) -> Int32 -> Bool Source #rangeSize :: (Int32, Int32) -> Int Source #unsafeRangeSize :: (Int32, Int32) -> Int Source # Source # Since: base-2.1 Instance detailsDefined in GHC.Int Methodsrange :: (Int64, Int64) -> [Int64] Source #index :: (Int64, Int64) -> Int64 -> Int Source #unsafeIndex :: (Int64, Int64) -> Int64 -> Int Source #inRange :: (Int64, Int64) -> Int64 -> Bool Source #rangeSize :: (Int64, Int64) -> Int Source #unsafeRangeSize :: (Int64, Int64) -> Int Source # Source # Since: base-2.1 Instance detailsDefined in GHC.Int Methodsrange :: (Int8, Int8) -> [Int8] Source #index :: (Int8, Int8) -> Int8 -> Int Source #unsafeIndex :: (Int8, Int8) -> Int8 -> Int Source #inRange :: (Int8, Int8) -> Int8 -> Bool Source #rangeSize :: (Int8, Int8) -> Int Source #unsafeRangeSize :: (Int8, Int8) -> Int Source # Source # Since: base-2.1 Instance detailsDefined in GHC.Unicode Methods Source # Since: base-2.1 Instance detailsDefined in GHC.Word Methodsrange :: (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 # Source # Since: base-2.1 Instance detailsDefined in GHC.Word Methodsrange :: (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 # Source # Since: base-2.1 Instance detailsDefined in GHC.Word Methodsrange :: (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 # Source # Since: base-2.1 Instance detailsDefined in GHC.Word Methodsrange :: (Word8, Word8) -> [Word8] Source #index :: (Word8, Word8) -> Word8 -> Int Source #unsafeIndex :: (Word8, Word8) -> Word8 -> Int Source #inRange :: (Word8, Word8) -> Word8 -> Bool Source #rangeSize :: (Word8, Word8) -> Int Source #unsafeRangeSize :: (Word8, Word8) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (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 # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CBlkSize, CBlkSize) -> [CBlkSize] Source #index :: (CBlkSize, CBlkSize) -> CBlkSize -> Int Source #inRange :: (CBlkSize, CBlkSize) -> CBlkSize -> Bool Source #rangeSize :: (CBlkSize, CBlkSize) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CClockId, CClockId) -> [CClockId] Source #index :: (CClockId, CClockId) -> CClockId -> Int Source #inRange :: (CClockId, CClockId) -> CClockId -> Bool Source #rangeSize :: (CClockId, CClockId) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CDev, CDev) -> [CDev] Source #index :: (CDev, CDev) -> CDev -> Int Source #unsafeIndex :: (CDev, CDev) -> CDev -> Int Source #inRange :: (CDev, CDev) -> CDev -> Bool Source #rangeSize :: (CDev, CDev) -> Int Source #unsafeRangeSize :: (CDev, CDev) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CFsBlkCnt, CFsBlkCnt) -> [CFsBlkCnt] Source #index :: (CFsBlkCnt, CFsBlkCnt) -> CFsBlkCnt -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CFsFilCnt, CFsFilCnt) -> [CFsFilCnt] Source #index :: (CFsFilCnt, CFsFilCnt) -> CFsFilCnt -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CGid, CGid) -> [CGid] Source #index :: (CGid, CGid) -> CGid -> Int Source #unsafeIndex :: (CGid, CGid) -> CGid -> Int Source #inRange :: (CGid, CGid) -> CGid -> Bool Source #rangeSize :: (CGid, CGid) -> Int Source #unsafeRangeSize :: (CGid, CGid) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CId, CId) -> [CId] Source #index :: (CId, CId) -> CId -> Int Source #unsafeIndex :: (CId, CId) -> CId -> Int Source #inRange :: (CId, CId) -> CId -> Bool Source #rangeSize :: (CId, CId) -> Int Source #unsafeRangeSize :: (CId, CId) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CIno, CIno) -> [CIno] Source #index :: (CIno, CIno) -> CIno -> Int Source #unsafeIndex :: (CIno, CIno) -> CIno -> Int Source #inRange :: (CIno, CIno) -> CIno -> Bool Source #rangeSize :: (CIno, CIno) -> Int Source #unsafeRangeSize :: (CIno, CIno) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CKey, CKey) -> [CKey] Source #index :: (CKey, CKey) -> CKey -> Int Source #unsafeIndex :: (CKey, CKey) -> CKey -> Int Source #inRange :: (CKey, CKey) -> CKey -> Bool Source #rangeSize :: (CKey, CKey) -> Int Source #unsafeRangeSize :: (CKey, CKey) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CMode, CMode) -> [CMode] Source #index :: (CMode, CMode) -> CMode -> Int Source #unsafeIndex :: (CMode, CMode) -> CMode -> Int Source #inRange :: (CMode, CMode) -> CMode -> Bool Source #rangeSize :: (CMode, CMode) -> Int Source #unsafeRangeSize :: (CMode, CMode) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CNfds, CNfds) -> [CNfds] Source #index :: (CNfds, CNfds) -> CNfds -> Int Source #unsafeIndex :: (CNfds, CNfds) -> CNfds -> Int Source #inRange :: (CNfds, CNfds) -> CNfds -> Bool Source #rangeSize :: (CNfds, CNfds) -> Int Source #unsafeRangeSize :: (CNfds, CNfds) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (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 # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (COff, COff) -> [COff] Source #index :: (COff, COff) -> COff -> Int Source #unsafeIndex :: (COff, COff) -> COff -> Int Source #inRange :: (COff, COff) -> COff -> Bool Source #rangeSize :: (COff, COff) -> Int Source #unsafeRangeSize :: (COff, COff) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CPid, CPid) -> [CPid] Source #index :: (CPid, CPid) -> CPid -> Int Source #unsafeIndex :: (CPid, CPid) -> CPid -> Int Source #inRange :: (CPid, CPid) -> CPid -> Bool Source #rangeSize :: (CPid, CPid) -> Int Source #unsafeRangeSize :: (CPid, CPid) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CRLim, CRLim) -> [CRLim] Source #index :: (CRLim, CRLim) -> CRLim -> Int Source #unsafeIndex :: (CRLim, CRLim) -> CRLim -> Int Source #inRange :: (CRLim, CRLim) -> CRLim -> Bool Source #rangeSize :: (CRLim, CRLim) -> Int Source #unsafeRangeSize :: (CRLim, CRLim) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CSocklen, CSocklen) -> [CSocklen] Source #index :: (CSocklen, CSocklen) -> CSocklen -> Int Source #inRange :: (CSocklen, CSocklen) -> CSocklen -> Bool Source #rangeSize :: (CSocklen, CSocklen) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (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 # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (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 # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (CUid, CUid) -> [CUid] Source #index :: (CUid, CUid) -> CUid -> Int Source #unsafeIndex :: (CUid, CUid) -> CUid -> Int Source #inRange :: (CUid, CUid) -> CUid -> Bool Source #rangeSize :: (CUid, CUid) -> Int Source #unsafeRangeSize :: (CUid, CUid) -> Int Source # Source # Instance detailsDefined in System.Posix.Types Methodsrange :: (Fd, Fd) -> [Fd] Source #index :: (Fd, Fd) -> Fd -> Int Source #unsafeIndex :: (Fd, Fd) -> Fd -> Int Source #inRange :: (Fd, Fd) -> Fd -> Bool Source #rangeSize :: (Fd, Fd) -> Int Source #unsafeRangeSize :: (Fd, Fd) -> Int Source # Source # Since: base-2.1 Instance detailsDefined in GHC.Ix Methodsrange :: (Ordering, Ordering) -> [Ordering] Source #index :: (Ordering, Ordering) -> Ordering -> Int Source #inRange :: (Ordering, Ordering) -> Ordering -> Bool Source #rangeSize :: (Ordering, Ordering) -> Int Source # Source # Since: base-2.1 Instance detailsDefined in GHC.Ix Methodsrange :: (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 # Source # Since: base-4.8.0.0 Instance detailsDefined in GHC.Ix Methodsrange :: (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 # Ix () Source # Since: base-2.1 Instance detailsDefined in GHC.Ix Methodsrange :: ((), ()) -> [()] Source #index :: ((), ()) -> () -> Int Source #unsafeIndex :: ((), ()) -> () -> Int Source #inRange :: ((), ()) -> () -> Bool Source #rangeSize :: ((), ()) -> Int Source #unsafeRangeSize :: ((), ()) -> Int Source # Source # Since: base-2.1 Instance detailsDefined in GHC.Ix Methodsrange :: (Bool, Bool) -> [Bool] Source #index :: (Bool, Bool) -> Bool -> Int Source #unsafeIndex :: (Bool, Bool) -> Bool -> Int Source #inRange :: (Bool, Bool) -> Bool -> Bool Source #rangeSize :: (Bool, Bool) -> Int Source #unsafeRangeSize :: (Bool, Bool) -> Int Source # Source # Since: base-2.1 Instance detailsDefined in GHC.Ix Methodsrange :: (Char, Char) -> [Char] Source #index :: (Char, Char) -> Char -> Int Source #unsafeIndex :: (Char, Char) -> Char -> Int Source #inRange :: (Char, Char) -> Char -> Bool Source #rangeSize :: (Char, Char) -> Int Source #unsafeRangeSize :: (Char, Char) -> Int Source # Source # Since: base-2.1 Instance detailsDefined in GHC.Ix Methodsrange :: (Int, Int) -> [Int] Source #index :: (Int, Int) -> Int -> Int Source #unsafeIndex :: (Int, Int) -> Int -> Int Source #inRange :: (Int, Int) -> Int -> Bool Source #rangeSize :: (Int, Int) -> Int Source #unsafeRangeSize :: (Int, Int) -> Int Source # Source # Since: base-4.6.0.0 Instance detailsDefined in GHC.Ix Methodsrange :: (Word, Word) -> [Word] Source #index :: (Word, Word) -> Word -> Int Source #unsafeIndex :: (Word, Word) -> Word -> Int Source #inRange :: (Word, Word) -> Word -> Bool Source #rangeSize :: (Word, Word) -> Int Source #unsafeRangeSize :: (Word, Word) -> Int Source # Ix a => Ix (Identity a) Source # Since: base-4.9.0.0 Instance detailsDefined in Data.Functor.Identity Methodsrange :: (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 Instance detailsDefined in Data.Ord Methodsrange :: (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 (a) Source # Instance detailsDefined in GHC.Ix Methodsrange :: ((a), (a)) -> [(a)] Source #index :: ((a), (a)) -> (a) -> Int Source #unsafeIndex :: ((a), (a)) -> (a) -> Int Source #inRange :: ((a), (a)) -> (a) -> Bool Source #rangeSize :: ((a), (a)) -> Int Source #unsafeRangeSize :: ((a), (a)) -> Int Source # Ix (Proxy s) Source # Since: base-4.7.0.0 Instance detailsDefined in Data.Proxy Methodsrange :: (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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in Data.Functor.Const Methodsrange :: (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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Instance detailsDefined in GHC.Ix Methodsrange :: ((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 Enum class. 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