package free
- Alphabetic
- By Inheritance
- free
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- sealed abstract class :+:[F[_], G[_]] extends AnyRef
- implicit class EnrichNT[F[_], H[_]] extends AnyRef
-
class
Interpreter[F[_], M[_]] extends AnyRef
Provides a range of natural transformations that can be derived from the natural transformation of a term of an algebra into the desired
MonadProvides a range of natural transformations that can be derived from the natural transformation of a term of an algebra into the desired
Monad- F
The type of the
Functorthat represents the algebra to be interpreted- M
The
Monadinto which to translate theFreeAlgebra
Value Members
- def flatMapSNT[S[_], T[_]](f: ~>[S, [β$4$]Free[T, β$4$]]): ~>[[β$5$]Free[S, β$5$], [β$6$]Free[T, β$6$]]
- def foldMapNT[F[_], G[_]](f: ~>[F, G])(implicit arg0: Monad[G]): ~>[[β$8$]Free[F, β$8$], G]
-
def
injectFT[F[_], S[_]](implicit S: :<:[F, S]): ~>[F, [β$11$]Free[S, β$11$]]
Convenience transformation to inject into a coproduct and lift into Free.
-
def
injectNT[F[_], G[_]](implicit I: :<:[F, G]): ~>[F, G]
Inject#injas a natural transformation. -
def
liftFT[S[_]]: ~>[S, [β$12$]Free[S, β$12$]]
Free#liftFas a natural transformation - def mapSNT[S[_], T[_]](f: ~>[S, T]): ~>[[β$1$]Free[S, β$1$], [β$2$]Free[T, β$2$]]
-
def
transformIn[F[_], S[_], G[_]](f: ~>[F, G], g: ~>[S, G])(implicit S: :<:[F, S]): ~>[S, G]
Given
F[_]andS[_]such thatF :<: S, returns a natural transformation,S ~> G, wherefis used to transform anF[_]andgused otherwise. - object lift