Package com.jnape.palatable.lambda.monad
package com.jnape.palatable.lambda.monad
-
ClassDescriptionMonads are
Applicative
functors that support a flattening operation to unwrapM<M<A>> -> M<A>
.MonadError<E,A, M extends MonadError<E, ?, M>> An interface formonads
that can be interrupted with some type of error.MonadReader<R,A, MR extends MonadReader<R, ?, MR>> A monad that is capable of reading an environmentR
and producing a lifted valueA
.A class ofmonads
that offer a stack-safe interface for performing arbitrarily manyflatmap-like
operations viaMonadRec.trampolineM(Fn1)
.MonadWriter<W,A, MW extends MonadWriter<W, ?, MW>> AMonad
that is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.A stack-safemonad transformer
that can safely interpret deeply nested left- or right-associated binds for anyMonadRec
.