Hoogle Search

Within LTS Haskell 24.46 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. module GHC.Enum

    The Enum and Bounded classes.

  2. class Enum a

    base GHC.Enum

    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
    

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

    base GHC.Enum

    No documentation available.

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

    base GHC.Enum

    No documentation available.

  5. enumFrom :: Enum a => a -> [a]

    base GHC.Enum

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

    Examples

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

  6. enumFromThen :: Enum a => a -> a -> [a]

    base GHC.Enum

    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

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

  7. enumFromThenTo :: Enum a => a -> a -> a -> [a]

    base GHC.Enum

    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

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

  8. enumFromTo :: Enum a => a -> a -> [a]

    base GHC.Enum

    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

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

  9. fromEnum :: Enum a => a -> Int

    base GHC.Enum

    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.

  10. fromEnumError :: Show a => String -> a -> b

    base GHC.Enum

    No documentation available.

Page 145 of many | Previous | Next