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
Applicative
type-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.