HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Moduleutility-ht-0.0.17.2Haskell98

Data.Ix.Enum

Implementations of Ix methods in terms of Enum methods.

For a type T of class Enum you can easily define an Ix instance by copying the following code into your module:

import qualified Data.Ix.Enum as IxEnum

instance Ix T where
   range           = IxEnum.range
   index           = IxEnum.index
   inRange         = IxEnum.inRange
   rangeSize       = IxEnum.rangeSize
   unsafeIndex     = IxEnum.unsafeIndex
   unsafeRangeSize = IxEnum.unsafeRangeSize
  • 6 values
valuerange :: Enum a => (a, a) -> [a]
#
Example2 expressions
range ('x','z')"xyz"range (LT,GT)[LT,EQ,GT]
valueindex :: Enum a => (a, a) -> a -> Int
#
Example1 expression
index ('a','z') 'e'4
valueunsafeIndex :: Enum a => (a, a) -> a -> Int
#
Example1 expression
unsafeIndex ('a','z') 'e'4
valueinRange :: Enum a => (a, a) -> a -> Bool
#
Example2 expressions
inRange ('a','z') 'e'TrueinRange ('x','z') 'a'False
valuerangeSize :: Enum a => (a, a) -> Int
#
Example1 expression
rangeSize ('x','z')3