effects4s
package effects4s
- Alphabetic
- Public
- All
Type Members
-
trait
Async
[F[_]] extends Eventual[F] with Deferrable[F]
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( ... )
-
trait
Catchable
[F[_]] extends Evaluable[F]
A context that is able to throw or expose thrown exceptions.
-
trait
Deferrable
[F[_]] extends Evaluable[F]
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 ofF[_]
, 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( ... )
-
trait
Evaluable
[F[_]] extends AnyRef
A type-class for
F[_]
data types that have a data constructor taking a by-name value and that is equivalent toApplicative.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 toApplicative.pure
for pure expressions.- Annotations
- @implicitNotFound( ... )
-
trait
Eventual
[F[_]] extends Catchable[F]
Type-class describing
F[_]
data types capable of evaluating side-effects in theF
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 theF
context and that can signal a single value or error as the result, potentially asynchronous.- Annotations
- @implicitNotFound( ... )