scalaz.Bind capable of using constant stack space when doing recursive binds.
Implementations of tailrecM
should not make recursive calls without the
@tailrec
annotation.
Based on Phil Freeman's work on stack safety in PureScript, described in Stack Safety for Free.
- Companion
- object
Type members
Classlikes
Inherited classlikes
Value members
Concrete methods
Inherited methods
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
Add a unit to any Apply to form an Applicative.
Add a unit to any Apply to form an Applicative.
- Inherited from
- Apply
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
- Inherited from
- Functor
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
- Inherited from
- 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
- Inherited from
- Functor
Combine fa
and fb
according to Apply[F]
with a function that discards the A
(s)
Combine fa
and fb
according to Apply[F]
with a function that discards the A
(s)
- Inherited from
- ApplyParent
Combine fa
and fb
according to Apply[F]
with a function that discards the B
(s)
Combine fa
and fb
according to Apply[F]
with a function that discards the B
(s)
- Inherited from
- ApplyParent
An Apply
for F
in which effects happen in the opposite order.
An Apply
for F
in which effects happen in the opposite order.
- Inherited from
- ApplyParent
Pair all A
s in fa
with the result of function application.
Pair all A
s in fa
with the result of function application.
- Inherited from
- Functor
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.
- Inherited from
- Functor
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.
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.
- Inherited from
- Bind
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]
.
- Inherited from
- Bind
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
- Inherited from
- Apply
Lift apply(a)
, and apply the result to f
.
Lift apply(a)
, and apply the result to f
.
- Inherited from
- Functor
Pair A
with the result of function application.
Pair A
with the result of function application.
- Inherited from
- Bind
The product of Bind F
and G
, [x](F[x], G[x]])
, is a Bind
The product of Bind F
and G
, [x](F[x], G[x]])
, is a Bind
- Inherited from
- Bind
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
- Inherited from
- 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
- Inherited from
- Functor
- Inherited from
- Apply
Empty fa
of meaningful pure values, preserving its
structure.
Empty fa
of meaningful pure values, preserving its
structure.
- Inherited from
- Functor
Functors are covariant by nature, so we can treat an F[A]
as
an F[B]
if A
is a subtype of B
.
Functors are covariant by nature, so we can treat an F[A]
as
an F[B]
if A
is a subtype of B
.
- Inherited from
- Functor
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.
- Inherited from
- InvariantFunctor
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.
- Inherited from
- InvariantFunctor