ghc-internal-9.1400.0: Basic libraries
Copyright(c) The University of Glasgow 1992-2002
Licensesee libraries/base/LICENSE
Maintainerghc-devs@haskell.org
Stabilityinternal
Portabilitynon-portable (GHC extensions)
Safe HaskellTrustworthy
LanguageHaskell2010

GHC.Internal.Enum

Description

The Enum and Bounded classes.

Synopsis

Documentation

class Bounded a where #

The Bounded class is used to name the upper and lower limits of a type. Ord is not a superclass of Bounded since types that are not totally ordered may also have upper and lower bounds.

The Bounded class may be derived for any enumeration type; minBound is the first constructor listed in the data declaration and maxBound is the last. Bounded may also be derived for single-constructor datatypes whose constituent types are in Bounded.

Methods

minBound :: a #

maxBound :: a #

Instances

Instances details
Bounded ByteOrder #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

Bounded All #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

minBound :: All #

maxBound :: All #

Bounded Any #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

minBound :: Any #

maxBound :: Any #

Bounded CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CIntMax # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CIntPtr # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CLLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CPtrdiff # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CSChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CShort # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CSigAtomic # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CUChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CUIntMax # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CUIntPtr # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CULong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CUShort # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded CWchar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Bounded IntPtr # 
Instance details

Defined in GHC.Internal.Foreign.Ptr

Bounded WordPtr # 
Instance details

Defined in GHC.Internal.Foreign.Ptr

Bounded Associativity #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Bounded DecidedStrictness #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Bounded SourceStrictness #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Bounded SourceUnpackedness #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Bounded Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Bounded Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Bounded Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Bounded Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Bounded Extension # 
Instance details

Defined in GHC.Internal.LanguageExtensions

Bounded CBlkCnt # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CBlkSize # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CClockId # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CDev # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CFsBlkCnt # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CFsFilCnt # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CGid # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CId # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

minBound :: CId #

maxBound :: CId #

Bounded CIno # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CKey # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CMode # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CNfds # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CNlink # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded COff # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CPid # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CRLim # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CSocklen # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CSsize # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CTcflag # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded CUid # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Bounded Fd # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

minBound :: Fd #

maxBound :: Fd #

Bounded Ordering #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Bounded GeneralCategory #

Since: base-2.1

Instance details

Defined in GHC.Internal.Unicode

Bounded Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Bounded Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Bounded Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Bounded Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Bounded () #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: () #

maxBound :: () #

Bounded Bool #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Bounded Char #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Bounded Int #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: Int #

maxBound :: Int #

Bounded Levity #

Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Enum

Bounded VecCount #

Since: base-4.10.0.0

Instance details

Defined in GHC.Internal.Enum

Bounded VecElem #

Since: base-4.10.0.0

Instance details

Defined in GHC.Internal.Enum

Bounded Word #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Bounded a => Bounded (And a) #

Since: base-4.16

Instance details

Defined in GHC.Internal.Data.Bits

Methods

minBound :: And a #

maxBound :: And a #

Bounded a => Bounded (Iff a) #

Since: base-4.16

Instance details

Defined in GHC.Internal.Data.Bits

Methods

minBound :: Iff a #

maxBound :: Iff a #

Bounded a => Bounded (Ior a) #

Since: base-4.16

Instance details

Defined in GHC.Internal.Data.Bits

Methods

minBound :: Ior a #

maxBound :: Ior a #

Bounded a => Bounded (Xor a) #

Since: base-4.16

Instance details

Defined in GHC.Internal.Data.Bits

Methods

minBound :: Xor a #

maxBound :: Xor a #

Bounded a => Bounded (Identity a) #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Identity

Bounded a => Bounded (Down a) #

Swaps minBound and maxBound of the underlying type.

Since: base-4.14.0.0

Instance details

Defined in GHC.Internal.Data.Ord

Methods

minBound :: Down a #

maxBound :: Down a #

Bounded a => Bounded (Dual a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

minBound :: Dual a #

maxBound :: Dual a #

Bounded a => Bounded (Product a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Bounded a => Bounded (Sum a) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

minBound :: Sum a #

maxBound :: Sum a #

Bounded a => Bounded (Solo a) # 
Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: Solo a #

maxBound :: Solo a #

Bounded (Proxy t) #

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Proxy

Methods

minBound :: Proxy t #

maxBound :: Proxy t #

(Bounded a, Bounded b) => Bounded (a, b) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b) #

maxBound :: (a, b) #

Bounded a => Bounded (Const a b) #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

minBound :: Const a b #

maxBound :: Const a b #

(Applicative f, Bounded a) => Bounded (Ap f a) #

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Data.Monoid

Methods

minBound :: Ap f a #

maxBound :: Ap f a #

Coercible a b => Bounded (Coercion a b) #

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Type.Coercion

Methods

minBound :: Coercion a b #

maxBound :: Coercion a b #

a ~ b => Bounded (a :~: b) #

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Type.Equality

Methods

minBound :: a :~: b #

maxBound :: a :~: b #

(Bounded a, Bounded b, Bounded c) => Bounded (a, b, c) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c) #

maxBound :: (a, b, c) #

a ~~ b => Bounded (a :~~: b) #

Since: base-4.10.0.0

Instance details

Defined in GHC.Internal.Data.Type.Equality

Methods

minBound :: a :~~: b #

maxBound :: a :~~: b #

(Bounded a, Bounded b, Bounded c, Bounded d) => Bounded (a, b, c, d) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d) #

maxBound :: (a, b, c, d) #

(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e) => Bounded (a, b, c, d, e) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d, e) #

maxBound :: (a, b, c, d, e) #

(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f) => Bounded (a, b, c, d, e, f) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d, e, f) #

maxBound :: (a, b, c, d, e, f) #

(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g) => Bounded (a, b, c, d, e, f, g) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d, e, f, g) #

maxBound :: (a, b, c, d, e, f, g) #

(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h) => Bounded (a, b, c, d, e, f, g, h) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h) #

maxBound :: (a, b, c, d, e, f, g, h) #

(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i) => Bounded (a, b, c, d, e, f, g, h, i) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i) #

maxBound :: (a, b, c, d, e, f, g, h, i) #

(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j) => Bounded (a, b, c, d, e, f, g, h, i, j) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i, j) #

maxBound :: (a, b, c, d, e, f, g, h, i, j) #

(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k) => Bounded (a, b, c, d, e, f, g, h, i, j, k) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i, j, k) #

maxBound :: (a, b, c, d, e, f, g, h, i, j, k) #

(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i, j, k, l) #

maxBound :: (a, b, c, d, e, f, g, h, i, j, k, l) #

(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l, Bounded m) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l, m) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m) #

maxBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m) #

(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l, Bounded m, Bounded n) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l, m, n) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) #

maxBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) #

(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f, Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l, Bounded m, Bounded n, Bounded o) => Bounded (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

minBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) #

maxBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) #

class Enum a where #

Class Enum defines operations on sequentially ordered types.

The enumFrom... methods are used in Haskell's translation of arithmetic sequences.

Instances of Enum may be derived for any enumeration type (types whose constructors have no fields). The nullary constructors are assumed to be numbered left-to-right by fromEnum from 0 through n-1. See Chapter 10 of the Haskell Report for more details.

For any type that is an instance of class Bounded as well as Enum, the following should hold:

   enumFrom     x   = enumFromTo     x maxBound
   enumFromThen x y = enumFromThenTo x y bound
     where
       bound | fromEnum y >= fromEnum x = maxBound
             | otherwise                = minBound

Minimal complete definition

toEnum, fromEnum

Methods

succ :: a -> a #

Successor of a value. For numeric types, succ adds 1.

pred :: a -> a #

Predecessor of a value. For numeric types, pred subtracts 1.

toEnum :: Int -> a #

Convert from an Int.

fromEnum :: a -> Int #

Convert to an Int. It is implementation-dependent what fromEnum returns when applied to a value that is too large to fit in an Int.

enumFrom :: a -> [a] #

Used in Haskell's translation of [n..] with [n..] = enumFrom n, a possible implementation being enumFrom n = n : enumFrom (succ n).

Examples

Expand
  • enumFrom 4 :: [Integer] = [4,5,6,7,...]
  • enumFrom 6 :: [Int] = [6,7,8,9,...,maxBound :: Int]

enumFromThen :: a -> a -> [a] #

Used in Haskell's translation of [n,n'..] with [n,n'..] = enumFromThen n n', a possible implementation being enumFromThen n n' = n : n' : worker (f x) (f x n'), worker s v = v : worker s (s v), x = fromEnum n' - fromEnum n and

  f n y
    | n > 0 = f (n - 1) (succ y)
    | n < 0 = f (n + 1) (pred y)
    | otherwise = y
  

Examples

Expand
  • enumFromThen 4 6 :: [Integer] = [4,6,8,10...]
  • enumFromThen 6 2 :: [Int] = [6,2,-2,-6,...,minBound :: Int]

enumFromTo :: a -> a -> [a] #

Used in Haskell's translation of [n..m] with [n..m] = enumFromTo n m, a possible implementation being

  enumFromTo n m
     | n <= m = n : enumFromTo (succ n) m
     | otherwise = []
  

Examples

Expand
  • enumFromTo 6 10 :: [Int] = [6,7,8,9,10]
  • enumFromTo 42 1 :: [Integer] = []

enumFromThenTo :: a -> a -> a -> [a] #

Used in Haskell's translation of [n,n'..m] with [n,n'..m] = enumFromThenTo n n' m, a possible implementation being enumFromThenTo n n' m = worker (f x) (c x) n m, x = fromEnum n' - fromEnum n, c x = bool (>=) ((x 0)

  f n y
     | n > 0 = f (n - 1) (succ y)
     | n < 0 = f (n + 1) (pred y)
     | otherwise = y
  

and

  worker s c v m
     | c v m = v : worker s c (s v) m
     | otherwise = []
  

Examples

Expand
  • enumFromThenTo 4 2 -6 :: [Integer] = [4,2,0,-2,-4,-6]
  • enumFromThenTo 6 8 2 :: [Int] = []

Instances

Instances details
Enum ByteOrder #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

Enum ClosureType # 
Instance details

Defined in GHC.Internal.ClosureTypes

Enum CBool # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CClock # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CDouble # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CFloat # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Methods

succ :: CInt -> CInt #

pred :: CInt -> CInt #

toEnum :: Int -> CInt #

fromEnum :: CInt -> Int #

enumFrom :: CInt -> [CInt] #

enumFromThen :: CInt -> CInt -> [CInt] #

enumFromTo :: CInt -> CInt -> [CInt] #

enumFromThenTo :: CInt -> CInt -> CInt -> [CInt] #

Enum CIntMax # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CIntPtr # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CLLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CPtrdiff # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CSChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CSUSeconds # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CShort # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CSigAtomic # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CSize # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CTime # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CUChar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CUInt # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CUIntMax # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CUIntPtr # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CULLong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CULong # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CUSeconds # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CUShort # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum CWchar # 
Instance details

Defined in GHC.Internal.Foreign.C.Types

Enum IntPtr # 
Instance details

Defined in GHC.Internal.Foreign.Ptr

Enum WordPtr # 
Instance details

Defined in GHC.Internal.Foreign.Ptr

Enum Associativity #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Enum DecidedStrictness #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Enum SourceStrictness #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Enum SourceUnpackedness #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Enum HalfWord # 
Instance details

Defined in GHC.Internal.Heap.InfoTable.Types

Enum SeekMode #

Since: base-4.2.0.0

Instance details

Defined in GHC.Internal.IO.Device

Enum IOMode #

Since: base-4.2.0.0

Instance details

Defined in GHC.Internal.IO.IOMode

Enum IoSubSystem # 
Instance details

Defined in GHC.Internal.IO.SubSystem

Enum Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Enum Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Enum Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Enum Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

succ :: Int8 -> Int8 #

pred :: Int8 -> Int8 #

toEnum :: Int -> Int8 #

fromEnum :: Int8 -> Int #

enumFrom :: Int8 -> [Int8] #

enumFromThen :: Int8 -> Int8 -> [Int8] #

enumFromTo :: Int8 -> Int8 -> [Int8] #

enumFromThenTo :: Int8 -> Int8 -> Int8 -> [Int8] #

Enum Extension # 
Instance details

Defined in GHC.Internal.LanguageExtensions

Enum DoCostCentres #

Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

Enum DoHeapProfile #

Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

Enum DoTrace #

Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

Enum GiveGCStats #

Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.RTS.Flags

Enum IoManagerFlag # 
Instance details

Defined in GHC.Internal.RTS.Flags

Enum ByteOffset # 
Instance details

Defined in GHC.Internal.Stack.Constants

Enum WordOffset # 
Instance details

Defined in GHC.Internal.Stack.Constants

Enum ByteOffset # 
Instance details

Defined in GHC.Internal.Stack.ConstantsProf

Enum WordOffset # 
Instance details

Defined in GHC.Internal.Stack.ConstantsProf

Enum CBlkCnt # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CBlkSize # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CCc # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

succ :: CCc -> CCc #

pred :: CCc -> CCc #

toEnum :: Int -> CCc #

fromEnum :: CCc -> Int #

enumFrom :: CCc -> [CCc] #

enumFromThen :: CCc -> CCc -> [CCc] #

enumFromTo :: CCc -> CCc -> [CCc] #

enumFromThenTo :: CCc -> CCc -> CCc -> [CCc] #

Enum CClockId # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CDev # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

succ :: CDev -> CDev #

pred :: CDev -> CDev #

toEnum :: Int -> CDev #

fromEnum :: CDev -> Int #

enumFrom :: CDev -> [CDev] #

enumFromThen :: CDev -> CDev -> [CDev] #

enumFromTo :: CDev -> CDev -> [CDev] #

enumFromThenTo :: CDev -> CDev -> CDev -> [CDev] #

Enum CFsBlkCnt # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CFsFilCnt # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CGid # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

succ :: CGid -> CGid #

pred :: CGid -> CGid #

toEnum :: Int -> CGid #

fromEnum :: CGid -> Int #

enumFrom :: CGid -> [CGid] #

enumFromThen :: CGid -> CGid -> [CGid] #

enumFromTo :: CGid -> CGid -> [CGid] #

enumFromThenTo :: CGid -> CGid -> CGid -> [CGid] #

Enum CId # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

succ :: CId -> CId #

pred :: CId -> CId #

toEnum :: Int -> CId #

fromEnum :: CId -> Int #

enumFrom :: CId -> [CId] #

enumFromThen :: CId -> CId -> [CId] #

enumFromTo :: CId -> CId -> [CId] #

enumFromThenTo :: CId -> CId -> CId -> [CId] #

Enum CIno # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

succ :: CIno -> CIno #

pred :: CIno -> CIno #

toEnum :: Int -> CIno #

fromEnum :: CIno -> Int #

enumFrom :: CIno -> [CIno] #

enumFromThen :: CIno -> CIno -> [CIno] #

enumFromTo :: CIno -> CIno -> [CIno] #

enumFromThenTo :: CIno -> CIno -> CIno -> [CIno] #

Enum CKey # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

succ :: CKey -> CKey #

pred :: CKey -> CKey #

toEnum :: Int -> CKey #

fromEnum :: CKey -> Int #

enumFrom :: CKey -> [CKey] #

enumFromThen :: CKey -> CKey -> [CKey] #

enumFromTo :: CKey -> CKey -> [CKey] #

enumFromThenTo :: CKey -> CKey -> CKey -> [CKey] #

Enum CMode # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CNfds # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CNlink # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum COff # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

succ :: COff -> COff #

pred :: COff -> COff #

toEnum :: Int -> COff #

fromEnum :: COff -> Int #

enumFrom :: COff -> [COff] #

enumFromThen :: COff -> COff -> [COff] #

enumFromTo :: COff -> COff -> [COff] #

enumFromThenTo :: COff -> COff -> COff -> [COff] #

Enum CPid # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

succ :: CPid -> CPid #

pred :: CPid -> CPid #

toEnum :: Int -> CPid #

fromEnum :: CPid -> Int #

enumFrom :: CPid -> [CPid] #

enumFromThen :: CPid -> CPid -> [CPid] #

enumFromTo :: CPid -> CPid -> [CPid] #

enumFromThenTo :: CPid -> CPid -> CPid -> [CPid] #

Enum CRLim # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CSocklen # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CSpeed # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CSsize # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CTcflag # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Enum CUid # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

succ :: CUid -> CUid #

pred :: CUid -> CUid #

toEnum :: Int -> CUid #

fromEnum :: CUid -> Int #

enumFrom :: CUid -> [CUid] #

enumFromThen :: CUid -> CUid -> [CUid] #

enumFromTo :: CUid -> CUid -> [CUid] #

enumFromThenTo :: CUid -> CUid -> CUid -> [CUid] #

Enum Fd # 
Instance details

Defined in GHC.Internal.System.Posix.Types

Methods

succ :: Fd -> Fd #

pred :: Fd -> Fd #

toEnum :: Int -> Fd #

fromEnum :: Fd -> Int #

enumFrom :: Fd -> [Fd] #

enumFromThen :: Fd -> Fd -> [Fd] #

enumFromTo :: Fd -> Fd -> [Fd] #

enumFromThenTo :: Fd -> Fd -> Fd -> [Fd] #

Enum Ordering #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Enum GeneralCategory #

Since: base-2.1

Instance details

Defined in GHC.Internal.Unicode

Enum Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Enum Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Enum Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Enum Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Enum Integer #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Enum Natural #

Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Enum

Enum () #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

succ :: () -> () #

pred :: () -> () #

toEnum :: Int -> () #

fromEnum :: () -> Int #

enumFrom :: () -> [()] #

enumFromThen :: () -> () -> [()] #

enumFromTo :: () -> () -> [()] #

enumFromThenTo :: () -> () -> () -> [()] #

Enum Bool #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

succ :: Bool -> Bool #

pred :: Bool -> Bool #

toEnum :: Int -> Bool #

fromEnum :: Bool -> Int #

enumFrom :: Bool -> [Bool] #

enumFromThen :: Bool -> Bool -> [Bool] #

enumFromTo :: Bool -> Bool -> [Bool] #

enumFromThenTo :: Bool -> Bool -> Bool -> [Bool] #

Enum Char #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

succ :: Char -> Char #

pred :: Char -> Char #

toEnum :: Int -> Char #

fromEnum :: Char -> Int #

enumFrom :: Char -> [Char] #

enumFromThen :: Char -> Char -> [Char] #

enumFromTo :: Char -> Char -> [Char] #

enumFromThenTo :: Char -> Char -> Char -> [Char] #

Enum Double #

fromEnum just truncates its argument, beware of all sorts of overflows.

List generators have extremely peculiar behavior, mandated by Haskell Report 2010:

>>> [0..1.5]
[0.0,1.0,2.0]

Since: base-2.1

Instance details

Defined in GHC.Internal.Float

Enum Float #

fromEnum just truncates its argument, beware of all sorts of overflows.

List generators have extremely peculiar behavior, mandated by Haskell Report 2010:

>>> [0..1.5 :: Float]
[0.0,1.0,2.0]

Since: base-2.1

Instance details

Defined in GHC.Internal.Float

Enum Int #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

succ :: Int -> Int #

pred :: Int -> Int #

toEnum :: Int -> Int #

fromEnum :: Int -> Int #

enumFrom :: Int -> [Int] #

enumFromThen :: Int -> Int -> [Int] #

enumFromTo :: Int -> Int -> [Int] #

enumFromThenTo :: Int -> Int -> Int -> [Int] #

Enum Levity #

Since: base-4.16.0.0

Instance details

Defined in GHC.Internal.Enum

Enum VecCount #

Since: base-4.10.0.0

Instance details

Defined in GHC.Internal.Enum

Enum VecElem #

Since: base-4.10.0.0

Instance details

Defined in GHC.Internal.Enum

Enum Word #

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Methods

succ :: Word -> Word #

pred :: Word -> Word #

toEnum :: Int -> Word #

fromEnum :: Word -> Int #

enumFrom :: Word -> [Word] #

enumFromThen :: Word -> Word -> [Word] #

enumFromTo :: Word -> Word -> [Word] #

enumFromThenTo :: Word -> Word -> Word -> [Word] #

Enum a => Enum (And a) #

Since: base-4.16

Instance details

Defined in GHC.Internal.Data.Bits

Methods

succ :: And a -> And a #

pred :: And a -> And a #

toEnum :: Int -> And a #

fromEnum :: And a -> Int #

enumFrom :: And a -> [And a] #

enumFromThen :: And a -> And a -> [And a] #

enumFromTo :: And a -> And a -> [And a] #

enumFromThenTo :: And a -> And a -> And a -> [And a] #

Enum a => Enum (Iff a) #

Since: base-4.16

Instance details

Defined in GHC.Internal.Data.Bits

Methods

succ :: Iff a -> Iff a #

pred :: Iff a -> Iff a #

toEnum :: Int -> Iff a #

fromEnum :: Iff a -> Int #

enumFrom :: Iff a -> [Iff a] #

enumFromThen :: Iff a -> Iff a -> [Iff a] #

enumFromTo :: Iff a -> Iff a -> [Iff a] #

enumFromThenTo :: Iff a -> Iff a -> Iff a -> [Iff a] #

Enum a => Enum (Ior a) #

Since: base-4.16

Instance details

Defined in GHC.Internal.Data.Bits

Methods

succ :: Ior a -> Ior a #

pred :: Ior a -> Ior a #

toEnum :: Int -> Ior a #

fromEnum :: Ior a -> Int #

enumFrom :: Ior a -> [Ior a] #

enumFromThen :: Ior a -> Ior a -> [Ior a] #

enumFromTo :: Ior a -> Ior a -> [Ior a] #

enumFromThenTo :: Ior a -> Ior a -> Ior a -> [Ior a] #

Enum a => Enum (Xor a) #

Since: base-4.16

Instance details

Defined in GHC.Internal.Data.Bits

Methods

succ :: Xor a -> Xor a #

pred :: Xor a -> Xor a #

toEnum :: Int -> Xor a #

fromEnum :: Xor a -> Int #

enumFrom :: Xor a -> [Xor a] #

enumFromThen :: Xor a -> Xor a -> [Xor a] #

enumFromTo :: Xor a -> Xor a -> [Xor a] #

enumFromThenTo :: Xor a -> Xor a -> Xor a -> [Xor a] #

Enum a => Enum (Identity a) #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Identity

(Enum a, Bounded a, Eq a) => Enum (Down a) #

Swaps succ and pred of the underlying type.

Since: base-4.18.0.0

Instance details

Defined in GHC.Internal.Data.Ord

Methods

succ :: Down a -> Down a #

pred :: Down a -> Down a #

toEnum :: Int -> Down a #

fromEnum :: Down a -> Int #

enumFrom :: Down a -> [Down a] #

enumFromThen :: Down a -> Down a -> [Down a] #

enumFromTo :: Down a -> Down a -> [Down a] #

enumFromThenTo :: Down a -> Down a -> Down a -> [Down a] #

Integral a => Enum (Ratio a) #

Since: base-2.0.1

Instance details

Defined in GHC.Internal.Real

Methods

succ :: Ratio a -> Ratio a #

pred :: Ratio a -> Ratio a #

toEnum :: Int -> Ratio a #

fromEnum :: Ratio a -> Int #

enumFrom :: Ratio a -> [Ratio a] #

enumFromThen :: Ratio a -> Ratio a -> [Ratio a] #

enumFromTo :: Ratio a -> Ratio a -> [Ratio a] #

enumFromThenTo :: Ratio a -> Ratio a -> Ratio a -> [Ratio a] #

Enum a => Enum (Solo a) # 
Instance details

Defined in GHC.Internal.Enum

Methods

succ :: Solo a -> Solo a #

pred :: Solo a -> Solo a #

toEnum :: Int -> Solo a #

fromEnum :: Solo a -> Int #

enumFrom :: Solo a -> [Solo a] #

enumFromThen :: Solo a -> Solo a -> [Solo a] #

enumFromTo :: Solo a -> Solo a -> [Solo a] #

enumFromThenTo :: Solo a -> Solo a -> Solo a -> [Solo a] #

Enum (Proxy s) #

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Proxy

Methods

succ :: Proxy s -> Proxy s #

pred :: Proxy s -> Proxy s #

toEnum :: Int -> Proxy s #

fromEnum :: Proxy s -> Int #

enumFrom :: Proxy s -> [Proxy s] #

enumFromThen :: Proxy s -> Proxy s -> [Proxy s] #

enumFromTo :: Proxy s -> Proxy s -> [Proxy s] #

enumFromThenTo :: Proxy s -> Proxy s -> Proxy s -> [Proxy s] #

Enum a => Enum (Const a b) #

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Data.Functor.Const

Methods

succ :: Const a b -> Const a b #

pred :: Const a b -> Const a b #

toEnum :: Int -> Const a b #

fromEnum :: Const a b -> Int #

enumFrom :: Const a b -> [Const a b] #

enumFromThen :: Const a b -> Const a b -> [Const a b] #

enumFromTo :: Const a b -> Const a b -> [Const a b] #

enumFromThenTo :: Const a b -> Const a b -> Const a b -> [Const a b] #

Enum (f a) => Enum (Ap f a) #

Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Data.Monoid

Methods

succ :: Ap f a -> Ap f a #

pred :: Ap f a -> Ap f a #

toEnum :: Int -> Ap f a #

fromEnum :: Ap f a -> Int #

enumFrom :: Ap f a -> [Ap f a] #

enumFromThen :: Ap f a -> Ap f a -> [Ap f a] #

enumFromTo :: Ap f a -> Ap f a -> [Ap f a] #

enumFromThenTo :: Ap f a -> Ap f a -> Ap f a -> [Ap f a] #

Enum (f a) => Enum (Alt f a) #

Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

succ :: Alt f a -> Alt f a #

pred :: Alt f a -> Alt f a #

toEnum :: Int -> Alt f a #

fromEnum :: Alt f a -> Int #

enumFrom :: Alt f a -> [Alt f a] #

enumFromThen :: Alt f a -> Alt f a -> [Alt f a] #

enumFromTo :: Alt f a -> Alt f a -> [Alt f a] #

enumFromThenTo :: Alt f a -> Alt f a -> Alt f a -> [Alt f a] #

Coercible a b => Enum (Coercion a b) #

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Type.Coercion

Methods

succ :: Coercion a b -> Coercion a b #

pred :: Coercion a b -> Coercion a b #

toEnum :: Int -> Coercion a b #

fromEnum :: Coercion a b -> Int #

enumFrom :: Coercion a b -> [Coercion a b] #

enumFromThen :: Coercion a b -> Coercion a b -> [Coercion a b] #

enumFromTo :: Coercion a b -> Coercion a b -> [Coercion a b] #

enumFromThenTo :: Coercion a b -> Coercion a b -> Coercion a b -> [Coercion a b] #

a ~ b => Enum (a :~: b) #

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Data.Type.Equality

Methods

succ :: (a :~: b) -> a :~: b #

pred :: (a :~: b) -> a :~: b #

toEnum :: Int -> a :~: b #

fromEnum :: (a :~: b) -> Int #

enumFrom :: (a :~: b) -> [a :~: b] #

enumFromThen :: (a :~: b) -> (a :~: b) -> [a :~: b] #

enumFromTo :: (a :~: b) -> (a :~: b) -> [a :~: b] #

enumFromThenTo :: (a :~: b) -> (a :~: b) -> (a :~: b) -> [a :~: b] #

a ~~ b => Enum (a :~~: b) #

Since: base-4.10.0.0

Instance details

Defined in GHC.Internal.Data.Type.Equality

Methods

succ :: (a :~~: b) -> a :~~: b #

pred :: (a :~~: b) -> a :~~: b #

toEnum :: Int -> a :~~: b #

fromEnum :: (a :~~: b) -> Int #

enumFrom :: (a :~~: b) -> [a :~~: b] #

enumFromThen :: (a :~~: b) -> (a :~~: b) -> [a :~~: b] #

enumFromTo :: (a :~~: b) -> (a :~~: b) -> [a :~~: b] #

enumFromThenTo :: (a :~~: b) -> (a :~~: b) -> (a :~~: b) -> [a :~~: b] #

boundedEnumFrom :: (Enum a, Bounded a) => a -> [a] #

boundedEnumFromThen :: (Enum a, Bounded a) => a -> a -> [a] #

toEnumError :: Show a => String -> Int -> (a, a) -> b #

fromEnumError :: Show a => String -> a -> b #

enumIntToWord :: Int -> Word #

Convert an Int into a Word (used in derived Enum instances)