Groups all syntax extensions.
The Applicative type-class is a Functor that also adds the
capability of lifting a value in the context.
The ApplicativeClass provides the means to combine
Applicative instances with other type-classes.
The ApplicativeClass provides the means to combine
Applicative instances with other type-classes.
To be inherited by Applicative instances.
Provides syntax for Applicative.
A type-class providing the coflatMap operation, the dual of
flatMap.
A type-class providing the coflatMap operation, the dual of
flatMap.
The purpose of this type-class is to support the data-types in the Monix library and it is considered a shim for a lawful type-class to be supplied by libraries such as Cats or Scalaz or equivalent.
To implement it in instances, inherit from CoflatMapClass.
Credit should be given where it is due.The type-class encoding has been copied from the Scado project and Scalaz 8 and the type has been extracted from Cats.
The CoflatMapClass provides the means to combine
CoflatMap instances with other type-classes.
The CoflatMapClass provides the means to combine
CoflatMap instances with other type-classes.
To be inherited by CoflatMap instances.
Provides syntax for CoflatMap.
The Comonad type-class is the dual of Monad.
The Comonad type-class is the dual of Monad. Whereas Monads
allow for the composition of effectful functions, Comonads allow
for composition of functions that extract the value from their
context.
The purpose of this type-class is to support the data-types in the Monix library and it is considered a shim for a lawful type-class to be supplied by libraries such as Cats or Scalaz or equivalent.
To implement it in instances, inherit from ComonadClass.
Credit should be given where it is due.The type-class encoding has been copied from the Scado project and Scalaz 8 and the type has been extracted from Cats.
The ComonadClass provides the means to combine
Comonad instances with other type-classes.
The ComonadClass provides the means to combine
Comonad instances with other type-classes.
To be inherited by Comonad instances.
Provides syntax for Comonad.
Type-class describing an Applicative which supports
capturing a deferred evaluation of a by-name F[A].
Type-class describing an Applicative which supports
capturing a deferred evaluation of a by-name F[A].
Evaluation can be suspended until a value is extracted.
The suspend operation can be thought of as a factory
of F[A] instances, that will produce fresh instances,
along with possible side-effects, on each evaluation.
The purpose of this type-class is to support the data-types in the Monix library and it is considered a shim for a lawful type-class to be supplied by libraries such as Cats or Scalaz or equivalent.
To implement it in instances, inherit from DeferrableClass.
Credit should be given where it is due. The type-class encoding has been copied from the Scado project and Scalaz 8 and the type has been inspired by Cats and FS2.
The DeferrableClass provides the means to combine
Deferrable instances with other type-classes.
The DeferrableClass provides the means to combine
Deferrable instances with other type-classes.
To be inherited by Deferrable instances.
A functor provides the map operation that allows lifting an f
function into the functor context and applying it.
A functor provides the map operation that allows lifting an f
function into the functor context and applying it.
The purpose of this type-class is to support the data-types in the Monix library and it is considered a shim for a lawful type-class to be supplied by libraries such as Cats or Scalaz or equivalent.
To implement it in instances, inherit from FunctorClass.
Credit should be given where it is due.The type-class encoding has been copied from the Scado project and Scalaz 8 and the type has been extracted from Cats.
The FunctorClass provides the means to combine Functor
instances with other type-classes.
The FunctorClass provides the means to combine Functor
instances with other type-classes.
To be inherited by Functor instances.
Provides syntax for Functor.
A type-class for F[A] suspendable applicatives
whose evaluation can be memoized, along with a guarantee
that the side-effects only happen once.
A type-class for F[A] suspendable applicatives
whose evaluation can be memoized, along with a guarantee
that the side-effects only happen once.
The memoize operation takes an F[_] instance and
returns a new F that guarantees that its evaluation and
all related side-effects only happen once, with the results
to be reused on subsequent evaluations.
The MemoizableClass provides the means to combine
Memoizable instances with other type-classes.
The MemoizableClass provides the means to combine
Memoizable instances with other type-classes.
To be inherited by Memoizable instances.
Provides syntax for Memoizable.
The Monad type-class is a structure that represents
computations defined as sequences of steps: : a type with
a monad structure defines what it means to chain operations
together, or nest functions of that type.
The Monad type-class is a structure that represents
computations defined as sequences of steps: : a type with
a monad structure defines what it means to chain operations
together, or nest functions of that type.
See: Monads for functional programming
The purpose of this type-class is to support the data-types in the Monix library and it is considered a shim for a lawful type-class to be supplied by libraries such as Cats or Scalaz or equivalent.
To implement it in instances, inherit from MonadClass.
Credit should be given where it is due.The type-class encoding has been copied from the Scado project and Scalaz 8 and the type has been extracted from Cats.
The MonadClass provides the means to combine
Monad instances with other type-classes.
The MonadClass provides the means to combine
Monad instances with other type-classes.
To be inherited by Monad instances.
The MonadFilter type-class is equipped with an additional
operation which allows us to create an "Empty" value for the Monad
(for whatever "empty" makes sense for that particular monad).
The MonadFilter type-class is equipped with an additional
operation which allows us to create an "Empty" value for the Monad
(for whatever "empty" makes sense for that particular monad). This
is of particular interest to us since it allows us to add a
filter method to a Monad, which is used when pattern matching or
using guards in for comprehensions.
The purpose of this type-class is to support the data-types in the Monix library and it is considered a shim for a lawful type-class to be supplied by libraries such as Cats or Scalaz or equivalent.
To implement it in instances, inherit from MonadFilterClass.
Credit should be given where it is due.The type-class encoding has been copied from the Scado project and Scalaz 8 and the type has been extracted from Cats.
The MonadFilterClass provides the means to combine
MonadFilter instances with other type-classes.
The MonadFilterClass provides the means to combine
MonadFilter instances with other type-classes.
To be inherited by MonadFilter instances.
Provides syntax for MonadFilter.
This type-class represents monads with a tail-recursive
tailRecM implementation.
This type-class represents monads with a tail-recursive
tailRecM implementation.
Based on Phil Freeman's Stack Safety for Free.
The purpose of this type-class is to support the data-types in the Monix library and it is considered a shim for a lawful type-class to be supplied by libraries such as Cats or Scalaz or equivalent.
To implement it in instances, inherit from MonadClass.
Credit should be given where it is due. The type-class encoding has been copied from the Scado project and Scalaz 8 and the type has been extracted from Cats.
The MonadRecClass provides the means to combine
MonadRec instances with other type-classes.
The MonadRecClass provides the means to combine
MonadRec instances with other type-classes.
To be inherited by MonadRec instances.
Provides syntax for Monad.
MonoidK is a universal monoid which operates on kinds.
MonoidK is a universal monoid which operates on kinds.
The purpose of this type-class is to support the data-types in the Monix library and it is considered a shim for a lawful type-class to be supplied by libraries such as Cats or Scalaz or equivalent.
To implement it in instances, inherit from MonoidKClass.
Credit should be given where it is due.The type-class encoding has been copied from the Scado project and Scalaz 8 and the type has been extracted from Cats.
The MonoidKClass provides the means to combine
MonoidK instances with other type-classes.
The MonoidKClass provides the means to combine
MonoidK instances with other type-classes.
To be inherited by MonoidK instances.
The Recoverable type-class is the equivalent of
ApplicativeError or of MonadError from other libraries like
Cats or Scalaz.
The Recoverable type-class is the equivalent of
ApplicativeError or of MonadError from other libraries like
Cats or Scalaz. This type class allows one to abstract over
error-handling applicatives.
The purpose of this type-class is to support the data-types in the Monix library and it is considered a shim for a lawful type-class to be supplied by libraries such as Cats or Scalaz or equivalent.
To implement it in instances, inherit from RecoverableClass.
Credit should be given where it is due.The type-class encoding has been copied from the Scado project and Scalaz 8 and the type has been extracted from Cats.
The RecoverableClass provides the means to combine
Recoverable instances with other type-classes.
The RecoverableClass provides the means to combine
Recoverable instances with other type-classes.
To be inherited by Recoverable instances.
SemigroupK is a universal semigroup which operates on kinds.
SemigroupK is a universal semigroup which operates on kinds.
The purpose of this type-class is to support the data-types in the Monix library and it is considered a shim for a lawful type-class to be supplied by libraries such as Cats or Scalaz or equivalent.
To implement it in instances, inherit from SemigroupKClass.
Credit should be given where it is due.The type-class encoding has been copied from the Scado project and Scalaz 8 and the type has been extracted from Cats.
The SemigroupKClass provides the means to combine SemigroupK
instances with other type-classes.
The SemigroupKClass provides the means to combine SemigroupK
instances with other type-classes.
To be inherited by SemigroupK instances.
Provides syntax (extension methods) for usage of monix.types instances.
Provides syntax (extension methods) for usage of monix.types instances.
Usage:
import monix.types.syntax._Do not combine with Cats or Scalaz syntax in the same context.
The
Applicativetype-class is a Functor that also adds the capability of lifting a value in the context.Described in Applicative Programming with Effects.
The purpose of this type-class is to support the data-types in the Monix library and it is considered a shim for a lawful type-class to be supplied by libraries such as Cats or Scalaz or equivalent.
To implement it in instances, inherit from ApplicativeClass.
Credit should be given where it is due. The type-class encoding has been copied from the Scado project and Scalaz 8 and the type has been extracted from Cats.