Free[S, ?]
has a monad for any type constructor S[_]
.
Free[S, ?]
has a monad for any type constructor S[_]
.
a FunctionK, suitable for composition, which calls compile
Defer the creation of a Free[F, A]
value.
a FunctionK, suitable for composition, which calls foldMap
This method is used to defer the application of an InjectK[F, G] instance.
This method is used to defer the application of an InjectK[F, G]
instance. The actual work happens in
FreeInjectKPartiallyApplied#apply
.
This method exists to allow the F
and G
parameters to be
bound independently of the A
parameter below.
Lift an F[A]
value into the free monad.
This method is used to defer the application of an InjectK[F, G] instance.
This method is used to defer the application of an InjectK[F, G]
instance. The actual work happens in
FreeLiftInjectKPartiallyApplied#apply
.
This method exists to allow the G
parameter to be
bound independently of the F
and A
parameters below.
a FunctionK, suitable for composition, which calls mapK
Lift a pure A
value into the free monad.
Absorb a step into the free monad.