Sequence f
, then fa
, combining their results by function
application.
Sequence f
, then fa
, combining their results by function
application.
NB: with respect to apply2
and all other combinators, as well
as scalaz.Bind, the f
action appears to the *left*. So
f
should be the "first" F
-action to perform. This is in
accordance with all other implementations of this typeclass in
common use, which are "function first".
Flipped variant of ap
.
Flipped variant of ap
.
Alias for map
.
Alias for map
.
Add a unit to any Apply to form an Applicative.
Add a unit to any Apply to form an Applicative.
The composition of Functor F
and Bifunctor G
, [x, y]F[G[x, y]]
, is a Bifunctor
The composition of Functor F
and Bifunctor G
, [x, y]F[G[x, y]]
, is a Bifunctor
Equivalent to join(map(fa)(f))
.
Equivalent to join(map(fa)(f))
.
The composition of ApplicativePlus F
and G
, [x]F[G[x]]
, is a ApplicativePlus
The composition of ApplicativePlus F
and G
, [x]F[G[x]]
, is a ApplicativePlus
The composition of PlusEmpty F
and G
, [x]F[G[x]]
, is a PlusEmpty
The composition of PlusEmpty F
and G
, [x]F[G[x]]
, is a PlusEmpty
The composition of Plus F
and G
, [x]F[G[x]]
, is a Plus
The composition of Plus F
and G
, [x]F[G[x]]
, is a Plus
The composition of Applicatives F
and G
, [x]F[G[x]]
, is an Applicative
The composition of Applicatives F
and G
, [x]F[G[x]]
, is an Applicative
The composition of Applys F
and G
, [x]F[G[x]]
, is a Apply
The composition of Applys F
and G
, [x]F[G[x]]
, is a Apply
The composition of Functors F
and G
, [x]F[G[x]]
, is a Functor
The composition of Functors F
and G
, [x]F[G[x]]
, is a Functor
Remove f
-failing A
s in fa
, by which we mean: in the
expression filter(filter(fa)(f))(g)
, g
will never be invoked
for any a
where f(a)
returns false.
Remove f
-failing A
s in fa
, by which we mean: in the
expression filter(filter(fa)(f))(g)
, g
will never be invoked
for any a
where f(a)
returns false.
Filter l
according to an applicative predicate.
Filter l
according to an applicative predicate.
An Applicative
for F
in which effects happen in the opposite order.
An Applicative
for F
in which effects happen in the opposite order.
Repeats a monadic action infinitely
Repeats a monadic action infinitely
Twin all A
s in fa
.
Twin all A
s in fa
.
Pair all A
s in fa
with the result of function application.
Pair all A
s in fa
with the result of function application.
The composition of Functor F and Contravariant G, [x]F[G[x]]
,
is contravariant.
The composition of Functor F and Contravariant G, [x]F[G[x]]
,
is contravariant.
if
lifted into a binding.
if
lifted into a binding. Unlike lift3((t,c,a)=>if(t)c else
a)
, this will only include context from the chosen of ifTrue
and ifFalse
, not the other.
Execute an action repeatedly until its result satisfies the given predicate and return that result, discarding all others.
Execute an action repeatedly until its result satisfies the given predicate and return that result, discarding all others.
Execute an action repeatedly until its result fails to satisfy the given predicate and return that result, discarding all others.
Execute an action repeatedly until its result fails to satisfy the given predicate and return that result, discarding all others.
Sequence the inner F
of FFA
after the outer F
, forming a
single F[A]
.
Sequence the inner F
of FFA
after the outer F
, forming a
single F[A]
.
Lift f
into F
.
Lift f
into F
.
A list of results acquired by repeating a
.
A list of results acquired by repeating a
. Never empty
;
initial failure is an empty list instead.
Lift f
into F
and apply to F[A]
.
Lift f
into F
and apply to F[A]
.
Lift apply(a)
, and apply the result to f
.
Lift apply(a)
, and apply the result to f
.
The product of ApplicativePlus F
and G
, [x](F[x], G[x]])
, is a ApplicativePlus
The product of ApplicativePlus F
and G
, [x](F[x], G[x]])
, is a ApplicativePlus
The product of PlusEmpty F
and G
, [x](F[x], G[x]])
, is a PlusEmpty
The product of PlusEmpty F
and G
, [x](F[x], G[x]])
, is a PlusEmpty
The product of Plus F
and G
, [x](F[x], G[x]])
, is a Plus
The product of Plus F
and G
, [x](F[x], G[x]])
, is a Plus
The product of Applicatives F
and G
, [x](F[x], G[x]])
, is an Applicative
The product of Applicatives F
and G
, [x](F[x], G[x]])
, is an Applicative
The product of Applys F
and G
, [x](F[x], G[x]])
, is a Apply
The product of Applys F
and G
, [x](F[x], G[x]])
, is a Apply
The product of Functors F
and G
, [x](F[x], G[x]])
, is a Functor
The product of Functors F
and G
, [x](F[x], G[x]])
, is a Functor
Performs the action n
times, returning the list of results.
Performs the action n
times, returning the list of results.
Performs the action n
times, returning nothing.
Performs the action n
times, returning nothing.
Generalized version of Haskell's partitionEithers
Generalized version of Haskell's partitionEithers
empty
or a non-empty list of results acquired by repeating a
.
empty
or a non-empty list of results acquired by repeating a
.
Inject a
to the left of B
s in f
.
Inject a
to the left of B
s in f
.
Inject b
to the right of A
s in f
.
Inject b
to the right of A
s in f
.
Generalized version of Haskell's catMaybes
Generalized version of Haskell's catMaybes
A version of unite
that infers the type constructor T
.
A version of unite
that infers the type constructor T
.
Returns the given argument if cond
is false
, otherwise, unit lifted into F.
Returns the given argument if cond
is false
, otherwise, unit lifted into F.
Execute an action repeatedly until the Boolean
condition returns true
.
Execute an action repeatedly until the Boolean
condition returns true
.
The condition is evaluated after the loop body. Collects results into an
arbitrary MonadPlus
value, such as a List
.
Execute an action repeatedly until the Boolean
condition returns true
.
Execute an action repeatedly until the Boolean
condition returns true
.
The condition is evaluated after the loop body. Discards results.
Empty fa
of meaningful pure values, preserving its
structure.
Empty fa
of meaningful pure values, preserving its
structure.
Returns the given argument if cond
is true
, otherwise, unit lifted into F.
Returns the given argument if cond
is true
, otherwise, unit lifted into F.
Execute an action repeatedly as long as the given Boolean
expression
returns true
.
Execute an action repeatedly as long as the given Boolean
expression
returns true
. The condition is evalated before the loop body.
Collects the results into an arbitrary MonadPlus
value, such as a List
.
Execute an action repeatedly as long as the given Boolean
expression
returns true
.
Execute an action repeatedly as long as the given Boolean
expression
returns true
. The condition is evaluated before the loop body.
Discards results.
Converts ma
to a value of type F[B]
using the provided functions f
and g
.
Converts ma
to a value of type F[B]
using the provided functions f
and g
.
Converts ma
to a value of type F[B]
using the provided bijection.
Converts ma
to a value of type F[B]
using the provided bijection.
Converts ma
to a value of type F[B]
using the provided isomorphism.
Converts ma
to a value of type F[B]
using the provided isomorphism.
scalaz.Zip derived from tuple2
.
scalaz.Zip derived from tuple2
.
(Since version 7.1.0) Apply#zip produces unlawful instances