Traverse each element in the collection using the specified effectual
function f
, returning a new collection with the results in the context
of the effect.
Compose covariant and contravariant functors.
Compose covariant and contravariant functors.
Compose two covariant functors.
Compose two covariant functors.
Compose two invariant functors.
Compose two invariant functors.
Returns whether the collection contains the specified element.
Returns the number of elements in the collection that satisfy the specified predicate.
Returns whether any element of the collection satisfies the specified predicate.
Returns the first element in the collection satisfying the specified
predicate if one exists or None
otherwise.
Converts a collection with elements that are in the context of effects to a collection of elements in the context of an effect.
Folds over the elements of this collection using an associative operation and an identity.
Folds over the elements of this collection using an associative operation
and an identity. Alias for reduceIdentity
.
Folds over the elements of this collection from left to right to produce a summary value, maintaining some internal state along the way.
Effectually fold over the elements of this collection from left to right to produce a summary value, maintaining some internal state along the way.
Maps each element of the collection to a type B
for which an Identity
is defined using the function f
, then reduces those values to a single
summary using the combine
operation of Identity
, or the identity
element if the collection is empty.
Effectfully maps each element of the collection to a type B
for which an
Identity
is defined using the function f
, then reduces those values to
a single summary using the combine
operation of Identity
, or the
identity
element if the collection is empty.
Folds over the elements of this collection from right to left to produce a summary value, maintaining some internal state along the way.
Effectually fold over the elements of this collection from right to left to produce a summary value, maintaining some internal state along the way.
Traverses each element in the collection with the specified effectual
function f
purely for its effects.
Returns whether any element of the collection satisfies the specified predicate.
Folds over the elements of this collection using an associative operation with the middle element interspersed between every element.
Returns whether the collection is empty.
Lifts a function operating on values to a function that operates on each element of a collection.
Statefully maps over the elements of the collection, maintaining some state along the way and returning the final state along with the new collection.
Returns the largest element in the collection if one exists, using the
function f
to map each element to a type for which an Ord
is defined,
or None
otherwise.
Returns the largest value in the collection if one exists or None
otherwise.
Returns the smallest element in the collection if one exists, using the
function f
to map each element to a type for which an Ord
is defined,
or None
otherwise.
Returns the smallest value in the collection if one exists or None
otherwise.
Returns whether the collection contains at least one element
Partitions the collection based on the specified function.
Partitions the collection based on the specified effectual function.
Partitions the collection based on the specified validation function.
Returns the product of all elements in the collection.
Reduces the collection to a summary value using the associative operation,
returning None
if the collection is empty.
Reduces the collection to a summary value using the idempotent operation,
returning None
if the collection is empty.
Reduces the collection to a summary value using the associative operation.
Reduces the collection to a summary value using the associative operation.
Alias for fold
.
Maps each element of the collection to a type B
for which an
associative operation exists and then reduces the values using the
associative operation, returning None
if the collection is empty.
Reduces the collection to a summary value using the binary function f
,
returning None
if the collection is empty.
Reverses the order of elements in the collection.
Returns the number of elements in the collection.
Returns the sum of all elements in the collection.
Converts the collection to a Chunk
.
Converts the collection to a List
.
Zips the left collection and right collection together, using None
to
handle the case where one collection is larger than the other.
Zips the left collection and right collection together, using the specified function to handle the cases where one collection is larger than the other.
Zips each element of the collection with its index.
ForEach
is an abstraction that describes the ability to iterate over a collection, performing an effect for each element in the collection and returning a collection with the same shape in the context of the effect.By choosing the appropriate effect type to traverse with a wide range of operations on collections can be described. In particular, by traversing with state we can describe folds which allow implementing a wide variety of collection operations that produce summaries from a collection of values.