Package com.jnape.palatable.lambda.monad
-
Interface Summary Interface Description Monad<A,M extends Monad<?,M>> Monads areApplicativefunctors that support a flattening operation to unwrapM<M<A>> -> M<A>.MonadBase<M extends MonadRec<?,M>,A,MB extends MonadBase<?,?,MB>> MonadError<E,A,M extends MonadError<E,?,M>> An interface formonadsthat can be interrupted with some type of error.MonadReader<R,A,MR extends MonadReader<R,?,MR>> A monad that is capable of reading an environmentRand producing a lifted valueA.MonadRec<A,M extends MonadRec<?,M>> A class ofmonadsthat offer a stack-safe interface for performing arbitrarily manyflatmap-likeoperations viaMonadRec.trampolineM(Fn1).MonadWriter<W,A,MW extends MonadWriter<W,?,MW>> AMonadthat is capable of writing and accumulating state alongside a value, but is not necessarily capable of simultaneously accessing the state and the value.SafeT.Body.Suspended.Φ<M extends MonadRec<?,M>,B,R> -
Class Summary Class Description SafeT<M extends MonadRec<?,M>,A> A stack-safemonad transformerthat can safely interpret deeply nested left- or right-associated binds for anyMonadRec.SafeT.Body<M extends MonadRec<?,M>,A> SafeT.Body.Done<M extends MonadRec<?,M>,A> SafeT.Body.More<M extends MonadRec<?,M>,A> SafeT.Body.Suspended<M extends MonadRec<?,M>,A,B>