class
SpecializedInterpreter[F[_], M[_]] extends Interpreter[F, M]
Instance Constructors
-
new
SpecializedInterpreter(interpretTerm: ~>[F, M])(implicit arg0: Monad[M])
Type Members
-
type
Program[A] = Free[F, A]
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
def
interpret: ~>[Program, M]
-
def
interpretT[T[_[_], _]](implicit arg0: Hoist[T]): ~>[[β]T[[A]Free[F, A], β], [β]T[M, β]]
-
def
interpretT2[T1[_[_], _], T2[_[_], _]](implicit arg0: Hoist[T1], arg1: Hoist[T2]): ~>[[β]T1[[β]T2[[A]Free[F, A], β], β], [β]T1[[β]T2[M, β], β]]
-
def
interpretT3[T1[_[_], _], T2[_[_], _], T3[_[_], _]](implicit arg0: Hoist[T1], arg1: Hoist[T2], arg2: Hoist[T3]): ~>[[β]T1[[β]T2[[β]T3[[A]Free[F, A], β], β], β], [β]T1[[β]T2[[β]T3[M, β], β], β]]
-
val
interpretTerm: ~>[F, M]
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
runLog[E, L, A](p: Process[[γ]EitherT[[γ]WriterT[[A]Free[F, A], L, γ], E, γ], A])(implicit arg0: Monoid[L], catchable: Catchable[M]): EitherT[[γ]WriterT[M, L, γ], E, Vector[A]]
-
def
runLog[E, A](p: Process[[γ]EitherT[[A]Free[F, A], E, γ], A])(implicit catchable: Catchable[M]): EitherT[M, E, Vector[A]]
-
def
runLog[A](p: Process[Program, A])(implicit catchable: Catchable[M]): M[Vector[A]]
-
def
runLogT[T[_[_], _], A](p: Process[[β]T[[A]Free[F, A], β], A])(implicit arg0: Hoist[T], catchable: Catchable[[β]T[M, β]]): T[M, Vector[A]]
-
def
runLogT2[T1[_[_], _], T2[_[_], _], A](p: Process[[β]T1[[β]T2[[A]Free[F, A], β], β], A])(implicit arg0: Hoist[T1], arg1: Hoist[T2], catchable: Catchable[[β]T1[[β]T2[M, β], β]]): T1[[β]T2[M, β], Vector[A]]
-
def
runLogT3[T1[_[_], _], T2[_[_], _], T3[_[_], _], A](p: Process[[β]T1[[β]T2[[β]T3[[A]Free[F, A], β], β], β], A])(implicit arg0: Hoist[T1], arg1: Hoist[T2], arg2: Hoist[T3], catchable: Catchable[[β]T1[[β]T2[[β]T3[M, β], β], β]]): T1[[β]T2[[β]T3[M, β], β], Vector[A]]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
Extends Interpreter to provide a version with better type inference for commonly used
MonadTrans
The type of the
Functor
that represents the algebra to be interpretedThe
Monad
into which to translate theFree
Algebra