Hoogle Search
Within LTS Haskell 24.6 (ghc-9.10.2)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
enumFromThenTo :: Enum a => a -> a -> a -> [a]relude Relude.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]relude Relude.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] = []
enumerate :: Enumerable t => [Some t]selective Control.Selective.Multi No documentation available.
enumFrom :: forall (m :: Type -> Type) n r . (Monad m, Enum n) => n -> Stream (Of n) m rstreaming Streaming.Prelude An infinite stream of enumerable values, starting from a given value. It is the same as S.iterate succ. Because their return type is polymorphic, enumFrom, enumFromThen and iterate are useful with functions like zip and zipWith, which require the zipped streams to have the same return type. For example, with each [1..] the following bit of connect-and-resume would not compile:
>>> rest <- S.print $ S.zip (S.enumFrom 1) $ S.splitAt 3 $ S.each ['a'..'z'] (1,'a') (2,'b') (3,'c') >>> S.print $ S.take 3 rest 'd' 'e' 'f'
enumFromThen :: forall (m :: Type -> Type) a r . (Monad m, Enum a) => a -> a -> Stream (Of a) m rstreaming Streaming.Prelude An infinite sequence of enumerable values at a fixed distance, determined by the first and second values. See the discussion of enumFrom
>>> S.print $ S.take 3 $ S.enumFromThen 100 200 100 200 300
-
vector-sized Data.Vector.Generic.Sized O(n) Yield a vector of length n containing the values x, x+1, ... x + (n - 1). The length is inferred from the type.
-
vector-sized Data.Vector.Generic.Sized O(n) Yield a vector of length n containing the values x, x+1, ..., x + (n - 1) The length is given explicitly as a Proxy argument.
-
vector-sized Data.Vector.Generic.Sized O(n) Yield a vector of the given length containing the values x, x+y, x+2y, ... x + (n - 1)y. The length is inferred from the type.
-
vector-sized Data.Vector.Generic.Sized O(n) Yield a vector of the given length containing the values x, x+y, x+2y, ..., x + (n - 1)y. The length is given explicitly as a Proxy argument.
enumFromN :: forall (n :: Nat) a . (KnownNat n, Prim a, Num a) => a -> Vector n avector-sized Data.Vector.Primitive.Sized O(n) Yield a vector of length n containing the values x, x+1, ..., x + (n - 1). The length is inferred from the type.