## Uses of Class
com.jnape.palatable.lambda.functor.builtin.Writer

- Packages that use Writer
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.functor.builtin |

- - ### Uses of Writer in com.jnape.palatable.lambda.functor.builtin

    Methods in com.jnape.palatable.lambda.functor.builtin that return Writer
    Modifier and Type | Method and Description
    --- | ---
    `Writer<W,A>` | Writer.`censor(Fn1<? super W,? extends W> fn)` Update the accumulated state.
    `<B> Writer<W,B>` | Writer.`discardL(Applicative<B,Writer<W,?>> appB)` Sequence both this `Applicative` and `appB`, discarding this `Applicative's` result and returning `appB`.
    `<B> Writer<W,A>` | Writer.`discardR(Applicative<B,Writer<W,?>> appB)` Sequence both this `Applicative` and `appB`, discarding `appB's` result and returning this `Applicative`.
    `<B> Writer<W,B>` | Writer.`flatMap(Fn1<? super A,? extends Monad<B,Writer<W,?>>> f)` Chain dependent computations that may continue or short-circuit based on previous results.
    `<B> Writer<W,B>` | Writer.`fmap(Fn1<? super A,? extends B> fn)` Covariantly transmute this functor's parameter using the given mapping function.
    `static <W,A> Writer<W,A>` | Writer.`listen(A a)` Construct a `Writer` from a value.
    `<B> Writer<W,Tuple2<A,B>>` | Writer.`listens(Fn1<? super W,? extends B> fn)` Map the accumulation into a value and pair it with the current output.
    `<B> Writer<W,B>` | Writer.`pure(B b)` Lift the value `b` into this applicative functor.
    `static <W> Writer<W,Unit>` | Writer.`tell(W w)` Construct a `Writer` from an accumulation.
    `<B> Writer<W,B>` | Writer.`trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,Writer<W,?>>> fn)` Given some operation yielding a `RecursiveResult` inside this `MonadRec`, internally trampoline the operation until it yields a `termination` instruction.
    `static <W,A> Writer<W,A>` | Writer.`writer(Tuple2<A,W> aw)` Construct a `Writer` from an accumulation and a value.
    `<B> Writer<W,B>` | Writer.`zip(Applicative<Fn1<? super A,? extends B>,Writer<W,?>> appFn)` Given another instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.

    Methods in com.jnape.palatable.lambda.functor.builtin that return types with arguments of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `<B> Lazy<Writer<W,B>>` | Writer.`lazyZip(Lazy<? extends Applicative<Fn1<? super A,? extends B>,Writer<W,?>>> lazyAppFn)` Given a `lazy` instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.
    `static <W> Pure<Writer<W,?>>` | Writer.`pureWriter()` The canonical `Pure` instance for `Writer`.

    Method parameters in com.jnape.palatable.lambda.functor.builtin with type arguments of type Writer
    Modifier and Type | Method and Description
    --- | ---
    `<B> Writer<W,B>` | Writer.`discardL(Applicative<B,Writer<W,?>> appB)` Sequence both this `Applicative` and `appB`, discarding this `Applicative's` result and returning `appB`.
    `<B> Writer<W,A>` | Writer.`discardR(Applicative<B,Writer<W,?>> appB)` Sequence both this `Applicative` and `appB`, discarding `appB's` result and returning this `Applicative`.
    `<B> Writer<W,B>` | Writer.`flatMap(Fn1<? super A,? extends Monad<B,Writer<W,?>>> f)` Chain dependent computations that may continue or short-circuit based on previous results.
    `<B> Lazy<Writer<W,B>>` | Writer.`lazyZip(Lazy<? extends Applicative<Fn1<? super A,? extends B>,Writer<W,?>>> lazyAppFn)` Given a `lazy` instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.
    `<B> Writer<W,B>` | Writer.`trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,Writer<W,?>>> fn)` Given some operation yielding a `RecursiveResult` inside this `MonadRec`, internally trampoline the operation until it yields a `termination` instruction.
    `<B> Writer<W,B>` | Writer.`zip(Applicative<Fn1<? super A,? extends B>,Writer<W,?>> appFn)` Given another instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.