Construct a lazy Eval[A] instance.
Applicative functor.
An applicative that also allows you to raise and or handle an error value.
Weaker version of Applicative[F]; has apply but not pure.
Cartesian captures the idea of composing independent effectful values.
Must obey the laws defined in cats.
Must obey the laws defined in cats.
Methods that apply to 2 nested Foldable instances
This class composes two Reducible
instances to provide an
instance for the nested types.
Eval is a monad which controls evaluation.
FlatMap type class gives us flatMap, which allows us to have a value in a context (F[A]) and then feed that into a function that takes a normal value and returns a value in a context (A => F[B]).
Data structures that can be folded to a summary value.
Functor.
Identity, encoded as type Id[A] = A
, a convenient alias to make
identity instances well-kinded.
Identity, encoded as type Id[A] = A
, a convenient alias to make
identity instances well-kinded.
The identity monad can be seen as the ambient monad that encodes
the effect of having no effect. It is ambient in the sense that
plain pure values are values of Id
.
For instance, the cats.Functor instance for cats.Id
allows us to apply a function A => B
to an Id[A]
and get an
Id[B]
. However, an Id[A]
is the same as A
, so all we're doing
is applying a pure function of type A => B
to a pure value of
type A
to get a pure value of type B
. That is, the instance
encodes pure unary function application.
Construct a lazy Eval[A] instance.
Monad.
The combination of a Monad with a MonoidK
A monad that also allows you to raise and or handle an error value.
a Monad equipped with an additional method which allows us to create an "Empty" value for the Monad (for whatever "empty" makes sense for that particular monad).
A monad that has the ability to read from an environment.
A monad that can read, update, and pass along state (e.
MonoidK is a universal monoid which operates on kinds.
This class defines a Reducible[F]
in terms of a Foldable[G]
together with a split method,
F[A] =>
(A, G[A]).
An instance of NotNull[A]
indicates that A
does not have a static type
of Null
.
Construct an eager Eval[A] instance.
Data structures that can be reduced to a summary value.
SemigroupK is a universal semigroup which operates on kinds.
A type class to provide textual representation.
Traverse, also known as Traversable.
A type class that is used to help guide Scala's type inference to find type class instances for types which have shapes which differ from what their type classes are looking for.
Symbolic aliases for various types are defined here.