Package

cats

free

Permalink

package free

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. free
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type :<:[F[_], G[_]] = Inject[F, G]

    Permalink

    cats.free.Inject[F, G]

  2. type :≺:[F[_], G[_]] = Inject[F, G]

    Permalink

    cats.free.Inject[F, G]

  3. sealed abstract class Coyoneda[F[_], A] extends Serializable

    Permalink

    The dual view of the Yoneda lemma.

    The dual view of the Yoneda lemma. Also a free functor on F. This is isomorphic to F as long as F itself is a functor. The homomorphism from F[A] to Coyoneda[F,A] exists even when F is not a functor.

  4. sealed abstract class Free[S[_], A] extends Product with Serializable

    Permalink

    A free operational monad for some functor S.

    A free operational monad for some functor S. Binding is done using the heap instead of the stack, allowing tail-call elimination.

  5. sealed abstract class FreeApplicative[F[_], A] extends Product with Serializable

    Permalink

    Applicative Functor for Free

  6. sealed abstract class FreeInvariantMonoidal[F[_], A] extends Product with Serializable

    Permalink

    Invariant Monoidal for Free

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

    Permalink

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

    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.

  8. sealed abstract class Inject[F[_], G[_]] extends AnyRef

    Permalink

    Inject type class as described in "Data types a la carte" (Swierstra 2008).

    Inject type class as described in "Data types a la carte" (Swierstra 2008).

    See also

    http://www.staff.science.uu.nl/~swier004/publications/2008-jfp.pdf

  9. type Trampoline[A] = Free[Function0, A]

    Permalink

    Alias for the free monad over the Function0 functor.

  10. abstract class Yoneda[F[_], A] extends Serializable

    Permalink

    The free functor generated by F.

    The free functor generated by F. The Yoneda lemma says that Yoneda[F,A] is isomorphic to F[A] for any functor F. The homomorphism from Yoneda[F,A] to F[A] exists even when we have forgotten that F is a functor. Can be seen as a partially applied map for the functor F.

Value Members

  1. object Coyoneda extends Serializable

    Permalink
  2. object Free extends Serializable

    Permalink
  3. object FreeApplicative extends Serializable

    Permalink
  4. object FreeInvariantMonoidal extends Serializable

    Permalink
  5. object FreeT extends FreeTInstances with Serializable

    Permalink
  6. object Inject extends InjectInstances

    Permalink
  7. object Trampoline extends TrampolineFunctions with Serializable

    Permalink
  8. object Yoneda extends Serializable

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped