Interface Fn0<A>

    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default A apply()
      Convenience method for applying this Fn0 without providing an explicit Unit.
      A checkedApply()  
      default A checkedApply​(Unit unit)
      Invoke this function with the given argument, potentially throwing any Throwable.
      default <B> Fn0<B> diMapR​(Fn1<? super A,​? extends B> fn)
      Covariantly map over the return value of this function, producing a function that takes the same argument, and produces the new result type.
      default <B> Fn0<B> discardL​(Applicative<B,​Fn1<Unit,​?>> appB)
      Sequence both this Applicative and appB, discarding this Applicative's result and returning appB.
      default <B> Fn0<A> discardR​(Applicative<B,​Fn1<Unit,​?>> appB)
      Sequence both this Applicative and appB, discarding appB's result and returning this Applicative.
      default <B> Fn0<B> flatMap​(Fn1<? super A,​? extends Monad<B,​Fn1<Unit,​?>>> f)
      Chain dependent computations that may continue or short-circuit based on previous results.
      default <B> Fn0<B> fmap​(Fn1<? super A,​? extends B> f)
      Left-to-right composition.
      static <A> Fn0<A> fn0​(Fn0<A> fn)
      Static factory method for coercing a lambda to an Fn0.
      static <A> Fn0<A> fn0​(Fn1<Unit,​A> fn)
      Static factory method for adapting an Fn1<Unit, A> to an Fn0<A>.
      static <A> Fn0<A> fromCallable​(java.util.concurrent.Callable<A> callable)
      Convenience method for converting a Callable to an Fn0.
      static <A> Fn0<A> fromSupplier​(java.util.function.Supplier<A> supplier)
      Convenience method for converting a Supplier to an Fn0.
      default <B> Fn0<B> pure​(B b)
      Lift the value b into this applicative functor.
      default java.util.concurrent.Callable<A> toCallable()
      Convert this Fn0 to a java Callable
      default java.util.function.Supplier<A> toSupplier()
      Convert this Fn0 to a java Supplier
      default <B> Fn0<B> zip​(Fn2<Unit,​A,​B> appFn)
      default <B> Fn0<B> zip​(Applicative<Fn1<? super A,​? extends B>,​Fn1<Unit,​?>> 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 inherited from interface com.jnape.palatable.lambda.functor.Functor

        coerce
    • Method Detail

      • checkedApply

        A checkedApply()
                throws java.lang.Throwable
        Throws:
        java.lang.Throwable
      • apply

        default A apply()
        Convenience method for applying this Fn0 without providing an explicit Unit.
        Returns:
        the result
      • toSupplier

        default java.util.function.Supplier<A> toSupplier()
        Convert this Fn0 to a java Supplier
        Returns:
        the Supplier
      • toCallable

        default java.util.concurrent.Callable<A> toCallable()
        Convert this Fn0 to a java Callable
        Returns:
        the Callable
      • checkedApply

        default A checkedApply​(Unit unit)
                        throws java.lang.Throwable
        Invoke this function with the given argument, potentially throwing any Throwable.
        Specified by:
        checkedApply in interface Fn1<Unit,​A>
        Parameters:
        unit - the argument
        Returns:
        the result of the function application
        Throws:
        java.lang.Throwable - anything possibly thrown by the function
      • flatMap

        default <B> Fn0<B> flatMap​(Fn1<? super A,​? extends Monad<B,​Fn1<Unit,​?>>> f)
        Description copied from interface: Fn1
        Chain dependent computations that may continue or short-circuit based on previous results.
        Specified by:
        flatMap in interface Fn1<Unit,​A>
        Specified by:
        flatMap in interface Monad<A,​Fn1<Unit,​?>>
        Specified by:
        flatMap in interface MonadReader<Unit,​A,​Fn1<Unit,​?>>
        Specified by:
        flatMap in interface MonadRec<A,​Fn1<Unit,​?>>
        Specified by:
        flatMap in interface MonadWriter<Unit,​A,​Fn1<Unit,​?>>
        Type Parameters:
        B - the resulting monad parameter type
        Parameters:
        f - the dependent computation over A
        Returns:
        the new monad instance
      • fmap

        default <B> Fn0<B> fmap​(Fn1<? super A,​? extends B> f)
        Description copied from interface: Fn1
        Left-to-right composition.
        Specified by:
        fmap in interface Applicative<A,​Fn1<Unit,​?>>
        Specified by:
        fmap in interface Fn1<Unit,​A>
        Specified by:
        fmap in interface Functor<A,​Fn1<Unit,​?>>
        Specified by:
        fmap in interface Monad<A,​Fn1<Unit,​?>>
        Specified by:
        fmap in interface MonadReader<Unit,​A,​Fn1<Unit,​?>>
        Specified by:
        fmap in interface MonadRec<A,​Fn1<Unit,​?>>
        Specified by:
        fmap in interface MonadWriter<Unit,​A,​Fn1<Unit,​?>>
        Type Parameters:
        B - the return type of the next function to invoke
        Parameters:
        f - the function to invoke with this function's return value
        Returns:
        a function representing the composition of this function and f
      • pure

        default <B> Fn0<B> pure​(B b)
        Description copied from interface: Fn1
        Lift the value b into this applicative functor.
        Specified by:
        pure in interface Applicative<A,​Fn1<Unit,​?>>
        Specified by:
        pure in interface Fn1<Unit,​A>
        Specified by:
        pure in interface Monad<A,​Fn1<Unit,​?>>
        Specified by:
        pure in interface MonadReader<Unit,​A,​Fn1<Unit,​?>>
        Specified by:
        pure in interface MonadRec<A,​Fn1<Unit,​?>>
        Specified by:
        pure in interface MonadWriter<Unit,​A,​Fn1<Unit,​?>>
        Type Parameters:
        B - the type of the returned applicative's parameter
        Parameters:
        b - the value
        Returns:
        an instance of this applicative over b
      • zip

        default <B> Fn0<B> zip​(Applicative<Fn1<? super A,​? extends B>,​Fn1<Unit,​?>> appFn)
        Description copied from interface: Fn1
        Given another instance of this applicative over a mapping function, "zip" the two instances together using whatever application semantics the current applicative supports.
        Specified by:
        zip in interface Applicative<A,​Fn1<Unit,​?>>
        Specified by:
        zip in interface Fn1<Unit,​A>
        Specified by:
        zip in interface Monad<A,​Fn1<Unit,​?>>
        Specified by:
        zip in interface MonadReader<Unit,​A,​Fn1<Unit,​?>>
        Specified by:
        zip in interface MonadRec<A,​Fn1<Unit,​?>>
        Specified by:
        zip in interface MonadWriter<Unit,​A,​Fn1<Unit,​?>>
        Type Parameters:
        B - the resulting applicative parameter type
        Parameters:
        appFn - the other applicative instance
        Returns:
        the mapped applicative
      • zip

        default <B> Fn0<B> zip​(Fn2<Unit,​A,​B> appFn)
        Description copied from interface: Fn1
        Specified by:
        zip in interface Fn1<Unit,​A>
      • diMapR

        default <B> Fn0<B> diMapR​(Fn1<? super A,​? extends B> fn)
        Description copied from interface: Fn1
        Covariantly map over the return value of this function, producing a function that takes the same argument, and produces the new result type.
        Specified by:
        diMapR in interface Cartesian<Unit,​A,​Fn1<?,​?>>
        Specified by:
        diMapR in interface Cocartesian<Unit,​A,​Fn1<?,​?>>
        Specified by:
        diMapR in interface Fn1<Unit,​A>
        Specified by:
        diMapR in interface Profunctor<Unit,​A,​Fn1<?,​?>>
        Type Parameters:
        B - the new result type
        Parameters:
        fn - the covariant result mapping function
        Returns:
        an Fn1<A, C>
      • fromSupplier

        static <A> Fn0<A> fromSupplier​(java.util.function.Supplier<A> supplier)
        Convenience method for converting a Supplier to an Fn0.
        Type Parameters:
        A - the output type
        Parameters:
        supplier - the supplier
        Returns:
        the Fn0
      • fromCallable

        static <A> Fn0<A> fromCallable​(java.util.concurrent.Callable<A> callable)
        Convenience method for converting a Callable to an Fn0.
        Type Parameters:
        A - the output type
        Parameters:
        callable - the callable
        Returns:
        the Fn0
      • fn0

        static <A> Fn0<A> fn0​(Fn0<A> fn)
        Static factory method for coercing a lambda to an Fn0.
        Type Parameters:
        A - the output type
        Parameters:
        fn - the lambda to coerce
        Returns:
        the Fn0
      • fn0

        static <A> Fn0<A> fn0​(Fn1<Unit,​A> fn)
        Static factory method for adapting an Fn1<Unit, A> to an Fn0<A>.
        Type Parameters:
        A - the output type
        Parameters:
        fn - the Fn1
        Returns:
        the Fn0