Hoogle Search
Within LTS Haskell 24.31 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
enumFrom :: Enum a => a -> [a]ghc-internal GHC.Internal.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]
enumFromThen :: Enum a => a -> a -> [a]ghc-internal GHC.Internal.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]
enumFromThenTo :: Enum a => a -> a -> a -> [a]ghc-internal GHC.Internal.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
andworker 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] = []
enumFromTo :: Enum a => a -> a -> [a]ghc-internal GHC.Internal.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] = []
enumFromN :: Num e => Comp -> e -> Sz1 -> Vector D emassiv Data.Massiv.Array Same as enumFromStepN with step dx = 1. Related: senumFromN, senumFromStepN, enumFromStepN, rangeSize, rangeStepSize, range
Examples
>>> import Data.Massiv.Array >>> enumFromN Seq (5 :: Double) 3 Array D Seq (Sz1 3) [ 5.0, 6.0, 7.0 ]
Similar:- Prelude.enumFromTo Very similar to [i .. i + n - 1], except that enumFromN is faster, but it only works for Num and not for Enum elements
- Data.Vector.Generic.enumFromN
enumFromStepN :: Num e => Comp -> e -> e -> Sz1 -> Vector D emassiv Data.Massiv.Array Enumerate from a starting number x exactly n times with a custom step value dx. Unlike senumFromStepN, there is no dependency on neigboring elements therefore enumFromStepN is parallelizable. Related: senumFromN, senumFromStepN, enumFromN, rangeSize, rangeStepSize, range, rangeStepM
Examples
>>> import Data.Massiv.Array >>> enumFromStepN Seq 1 (0.1 :: Double) 5 Array D Seq (Sz1 5) [ 1.0, 1.1, 1.2, 1.3, 1.4 ] >>> enumFromStepN Seq (-pi :: Float) (pi/4) 9 Array D Seq (Sz1 9) [ -3.1415927, -2.3561945, -1.5707964, -0.78539824, 0.0, 0.78539824, 1.5707963, 2.3561947, 3.1415927 ]
Similar:- Prelude.enumFrom Similar to take n [x, x + dx ..], except that enumFromStepN is parallelizable and it only works for Num and not for Enum elements. Floating point value will be slightly different as well.
- Data.Vector.Generic.enumFromStepN Similar in the outcome, but very different in the way it works.
enumFromN :: Num e => Comp -> e -> Sz1 -> Vector D emassiv Data.Massiv.Vector Same as enumFromStepN with step dx = 1. Related: senumFromN, senumFromStepN, enumFromStepN, rangeSize, rangeStepSize, range
Examples
>>> import Data.Massiv.Array >>> enumFromN Seq (5 :: Double) 3 Array D Seq (Sz1 3) [ 5.0, 6.0, 7.0 ]
Similar:- Prelude.enumFromTo Very similar to [i .. i + n - 1], except that enumFromN is faster, but it only works for Num and not for Enum elements
- Data.Vector.Generic.enumFromN
enumFromStepN :: Num e => Comp -> e -> e -> Sz1 -> Vector D emassiv Data.Massiv.Vector Enumerate from a starting number x exactly n times with a custom step value dx. Unlike senumFromStepN, there is no dependency on neigboring elements therefore enumFromStepN is parallelizable. Related: senumFromN, senumFromStepN, enumFromN, rangeSize, rangeStepSize, range, rangeStepM
Examples
>>> import Data.Massiv.Array >>> enumFromStepN Seq 1 (0.1 :: Double) 5 Array D Seq (Sz1 5) [ 1.0, 1.1, 1.2, 1.3, 1.4 ] >>> enumFromStepN Seq (-pi :: Float) (pi/4) 9 Array D Seq (Sz1 9) [ -3.1415927, -2.3561945, -1.5707964, -0.78539824, 0.0, 0.78539824, 1.5707963, 2.3561947, 3.1415927 ]
Similar:- Prelude.enumFrom Similar to take n [x, x + dx ..], except that enumFromStepN is parallelizable and it only works for Num and not for Enum elements. Floating point value will be slightly different as well.
- Data.Vector.Generic.enumFromStepN Similar in the outcome, but very different in the way it works.
enum_ :: HasEnum s a => Lens' s aopenapi3 Data.OpenApi.Lens No documentation available.
enumFrom :: Enum a => a -> [a]protolude Protolude 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]