## Uses of Class
com.jnape.palatable.lambda.adt.Try

- Packages that use Try
  Package | Description
  --- | ---
  com.jnape.palatable.lambda.adt |

- - ### Uses of Try in com.jnape.palatable.lambda.adt

    Methods in com.jnape.palatable.lambda.adt with type parameters of type Try
    Modifier and Type | Method and Description
    --- | ---
    `<B,App extends Applicative<?,App>,TravB extends Traversable<B,Try<?>>,AppTrav extends Applicative<TravB,App>> AppTrav` | Try.`traverse(Fn1<? super A,? extends Applicative<B,App>> fn, Fn1<? super TravB,? extends AppTrav> pure)` Apply `fn` to each element of this traversable from left to right, and collapse the results into a single resulting applicative, potentially with the assistance of the applicative's pure function.

    Methods in com.jnape.palatable.lambda.adt that return Try
    Modifier and Type | Method and Description
    --- | ---
    `Try<A>` | Try.`catchError(Fn1<? super Throwable,? extends Monad<A,Try<?>>> recoveryFn)` Catch any `thrown` errors inside the `Monad` and resume normal operations.
    `<S extends Throwable> Try<A>` | Try.`catching(Class<S> throwableType, Fn1<? super S,? extends A> recoveryFn)` Catch any instance of `throwableType` and map it to a success value.
    `Try<A>` | Try.`catching(Fn1<? super Throwable,? extends Boolean> predicate, Fn1<? super Throwable,? extends A> recoveryFn)` Catch any thrown `T` satisfying `predicate` and map it to a success value.
    `<B> Try<B>` | Try.`discardL(Applicative<B,Try<?>> appB)` Sequence both this `Applicative` and `appB`, discarding this `Applicative's` result and returning `appB`.
    `<B> Try<A>` | Try.`discardR(Applicative<B,Try<?>> appB)` Sequence both this `Applicative` and `appB`, discarding `appB's` result and returning this `Applicative`.
    `Try<A>` | Try.`ensuring(SideEffect sideEffect)` Run the provided runnable regardless of whether this is a success or a failure (the `Try` analog to `finally`.
    `static <A> Try<A>` | Try.`failure(Throwable t)` Static factory method for creating a failure value.
    `<B> Try<B>` | Try.`flatMap(Fn1<? super A,? extends Monad<B,Try<?>>> f)` Chain dependent computations that may continue or short-circuit based on previous results.
    `<B> Try<B>` | Try.`fmap(Fn1<? super A,? extends B> fn)` Covariantly transmute this functor's parameter using the given mapping function.
    `<B> Try<B>` | Try.`pure(B b)` Lift the value `b` into this applicative functor.
    `static <A> Try<A>` | Try.`success(A a)` Static factory method for creating a success value.
    `Try<A>` | Try.`throwError(Throwable throwable)` Throw an error value of type `E` into the `monad`.
    `<B> Try<B>` | Try.`trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,Try<?>>> fn)` Given some operation yielding a `RecursiveResult` inside this `MonadRec`, internally trampoline the operation until it yields a `termination` instruction.
    `static <A> Try<A>` | Try.`trying(Fn0<? extends A> supplier)` Execute `supplier`, returning a success `A` or a failure of the thrown `Throwable`.
    `static Try<Unit>` | Try.`trying(SideEffect sideEffect)` Execute `runnable`, returning a success `Unit` or a failure of the thrown `Throwable`.
    `static <A extends AutoCloseable,B extends AutoCloseable,C extends AutoCloseable,D> Try<D>` | Try.`withResources(Fn0<? extends A> fn0, Fn1<? super A,? extends B> bFn, Fn1<? super B,? extends C> cFn, Fn1<? super C,? extends Try<? extends D>> fn)` Convenience overload of `withResources` that cascades two dependent resource creations via nested calls.
    `static <A extends AutoCloseable,B extends AutoCloseable,C> Try<C>` | Try.`withResources(Fn0<? extends A> fn0, Fn1<? super A,? extends B> bFn, Fn1<? super B,? extends Try<? extends C>> fn)` Convenience overload of `withResources` that cascades dependent resource creation via nested calls.
    `static <A extends AutoCloseable,B> Try<B>` | Try.`withResources(Fn0<? extends A> fn0, Fn1<? super A,? extends Try<? extends B>> fn)` Given a ``Fn0`<`AutoCloseable`>` `aSupplier` and an `Fn1` `fn`, apply `fn` to the result of `aSupplier`, ensuring that the result has its `close` method invoked, regardless of the outcome.
    `<B> Try<B>` | Try.`zip(Applicative<Fn1<? super A,? extends B>,Try<?>> 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.adt that return types with arguments of type Try
    Modifier and Type | Method and Description
    --- | ---
    `<B> Lazy<Try<B>>` | Try.`lazyZip(Lazy<? extends Applicative<Fn1<? super A,? extends B>,Try<?>>> 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 Pure<Try<?>>` | Try.`pureTry()` The canonical `Pure` instance for `Try`.

    Method parameters in com.jnape.palatable.lambda.adt with type arguments of type Try
    Modifier and Type | Method and Description
    --- | ---
    `Try<A>` | Try.`catchError(Fn1<? super Throwable,? extends Monad<A,Try<?>>> recoveryFn)` Catch any `thrown` errors inside the `Monad` and resume normal operations.
    `<B> Try<B>` | Try.`discardL(Applicative<B,Try<?>> appB)` Sequence both this `Applicative` and `appB`, discarding this `Applicative's` result and returning `appB`.
    `<B> Try<A>` | Try.`discardR(Applicative<B,Try<?>> appB)` Sequence both this `Applicative` and `appB`, discarding `appB's` result and returning this `Applicative`.
    `<B> Try<B>` | Try.`flatMap(Fn1<? super A,? extends Monad<B,Try<?>>> f)` Chain dependent computations that may continue or short-circuit based on previous results.
    `<B> Lazy<Try<B>>` | Try.`lazyZip(Lazy<? extends Applicative<Fn1<? super A,? extends B>,Try<?>>> 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> Try<B>` | Try.`trampolineM(Fn1<? super A,? extends MonadRec<RecursiveResult<A,B>,Try<?>>> fn)` Given some operation yielding a `RecursiveResult` inside this `MonadRec`, internally trampoline the operation until it yields a `termination` instruction.
    `static <A extends AutoCloseable,B extends AutoCloseable,C extends AutoCloseable,D> Try<D>` | Try.`withResources(Fn0<? extends A> fn0, Fn1<? super A,? extends B> bFn, Fn1<? super B,? extends C> cFn, Fn1<? super C,? extends Try<? extends D>> fn)` Convenience overload of `withResources` that cascades two dependent resource creations via nested calls.
    `static <A extends AutoCloseable,B extends AutoCloseable,C> Try<C>` | Try.`withResources(Fn0<? extends A> fn0, Fn1<? super A,? extends B> bFn, Fn1<? super B,? extends Try<? extends C>> fn)` Convenience overload of `withResources` that cascades dependent resource creation via nested calls.
    `static <A extends AutoCloseable,B> Try<B>` | Try.`withResources(Fn0<? extends A> fn0, Fn1<? super A,? extends Try<? extends B>> fn)` Given a ``Fn0`<`AutoCloseable`>` `aSupplier` and an `Fn1` `fn`, apply `fn` to the result of `aSupplier`, ensuring that the result has its `close` method invoked, regardless of the outcome.
    `<B> Try<B>` | Try.`zip(Applicative<Fn1<? super A,? extends B>,Try<?>> appFn)` Given another instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.