Class/Object

cats.free

FreeT

Related Docs: object FreeT | package free

Permalink

sealed abstract class FreeT[S[_], M[_], A] extends Product with Serializable

FreeT is a monad transformer for Free monads over a Functor S

Stack safety for Free and FreeT is based on the paper Stack Safety for Free by Phil Freeman

This Scala implementation of FreeT and its usages are derived from Scalaz's FreeT, originally written by Brian McKenna.

Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FreeT
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def canEqual(that: Any): Boolean

    Permalink
    Definition Classes
    Equals
  2. abstract def productArity: Int

    Permalink
    Definition Classes
    Product
  3. abstract def productElement(n: Int): Any

    Permalink
    Definition Classes
    Product

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def compile[T[_]](st: FunctionK[S, T])(implicit M: Functor[M]): FreeT[T, M, A]

    Permalink

    Change the base functor S for a FreeT action.

  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def flatMap[B](f: (A) ⇒ FreeT[S, M, B]): FreeT[S, M, B]

    Permalink

    Binds the given continuation to the result of this computation.

  11. def foldMap(f: FunctionK[S, M])(implicit M: Monad[M]): M[A]

    Permalink

    Runs to completion, mapping the suspension with the given transformation at each step and accumulating into the monad M.

  12. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hoist[N[_]](mn: FunctionK[M, N]): FreeT[S, N, A]

    Permalink

    Changes the underlying Monad for this FreeT, ie.

    Changes the underlying Monad for this FreeT, ie. turning this FreeT[S, M, A] into a FreeT[S, N, A].

  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. final def map[B](f: (A) ⇒ B)(implicit M: Applicative[M]): FreeT[S, M, B]

    Permalink
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. def productIterator: Iterator[Any]

    Permalink
    Definition Classes
    Product
  21. def productPrefix: String

    Permalink
    Definition Classes
    Product
  22. def resume(implicit S: Functor[S], M: Monad[M]): M[Either[S[FreeT[S, M, A]], A]]

    Permalink

    Evaluates a single layer of the free monad

  23. def runM(interp: (S[FreeT[S, M, A]]) ⇒ M[FreeT[S, M, A]])(implicit S: Functor[S], M: Monad[M]): M[A]

    Permalink

    Runs to completion, using a function that maps the resumption from S to a monad M.

  24. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  25. def toString(): String

    Permalink
    Definition Classes
    FreeT → AnyRef → Any
  26. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def interpret[T[_]](st: FunctionK[S, T])(implicit M: Functor[M]): FreeT[T, M, A]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.8.0) Use compile

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped