Package

effects4s

Permalink

package effects4s

Visibility
  1. Public
  2. All

Type Members

  1. trait Async[F[_]] extends Eventual[F] with Deferrable[F]

    Permalink

    Type-class describing F[_] data types capable of executing asynchronous computations that produce a single result.

    Type-class describing F[_] data types capable of executing asynchronous computations that produce a single result.

    Annotations
    @implicitNotFound( ... )
  2. trait Catchable[F[_]] extends Evaluable[F]

    Permalink

    A context that is able to throw or expose thrown exceptions.

  3. trait Deferrable[F[_]] extends Evaluable[F]

    Permalink

    Describes data types that allows for arbitrarily delaying the evaluation of an operation, triggering its execution on each run.

    Describes data types that allows for arbitrarily delaying the evaluation of an operation, triggering its execution on each run.

    Instances of this type-class have the following properties:

    • suspend any side-effects for later, until evaluated
    • suspension has always semantics, meaning that on each evaluation of F[_], any captured side-effects get repeated

    If the data type also has a Monad implementation, then this operation is isomorphic to:

    F.pure(()).flatMap(_ => fa)
    Annotations
    @implicitNotFound( ... )
  4. trait Evaluable[F[_]] extends AnyRef

    Permalink

    A type-class for F[_] data types that have a data constructor taking a by-name value and that is equivalent to Applicative.pure for pure expressions.

    A type-class for F[_] data types that have a data constructor taking a by-name value and that is equivalent to Applicative.pure for pure expressions.

    Annotations
    @implicitNotFound( ... )
  5. trait Eventual[F[_]] extends Catchable[F]

    Permalink

    Type-class describing F[_] data types capable of evaluating side-effects in the F context and that can signal a single value or error as the result, potentially asynchronous.

    Type-class describing F[_] data types capable of evaluating side-effects in the F context and that can signal a single value or error as the result, potentially asynchronous.

    Annotations
    @implicitNotFound( ... )

Value Members

  1. object Async

    Permalink
  2. object Catchable

    Permalink
  3. object Deferrable

    Permalink
  4. object Evaluable

    Permalink
  5. object Eventual

    Permalink

Ungrouped