Packages

object MonadRec extends Serializable

Source
MonadRec.scala
Linear Supertypes
Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MonadRec
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait Instance[F[_]] extends MonadRec[F] with Type[F] with Monad.Instance[F]

    The MonadRec.Instance provides the means to combine MonadRec instances with other type-classes.

    The MonadRec.Instance provides the means to combine MonadRec instances with other type-classes.

    To be inherited by MonadRec instances.

  2. trait Laws[F[_]] extends Monad.Laws[F] with Type[F]

    Laws for MonadRec.

  3. trait Type[F[_]] extends Monad.Type[F]

    The MonadRec.Type should be inherited in type-classes that are derived from MonadRec.

Value Members

  1. def apply[F[_]](implicit F: MonadRec[F]): MonadRec[F]
    Annotations
    @inline()
  2. final def defaultTailRecM[F[_], A, B](a: A)(f: (A) ⇒ F[Either[A, B]])(implicit F: Monad[F]): F[B]

    A reusable implementation for MonadRec.tailRecM that relies on Monad.flatMap.

    A reusable implementation for MonadRec.tailRecM that relies on Monad.flatMap.

    NOTE: this is UNSAFE to use in case flatMap is not tail-recursive.