Interface Parallel<F extends Kind<F,?>,G extends Kind<G,?>>


public interface Parallel<F extends Kind<F,?>,G extends Kind<G,?>>
  • Method Details

    • monad

      Monad<F> monad()
    • applicative

      Applicative<G> applicative()
    • sequential

      <A> Kind<F,A> sequential(Kind<G,? extends A> value)
    • parallel

      <A> Kind<G,A> parallel(Kind<F,? extends A> value)
    • parSequence

      default <T extends Kind<T, ?>, A> Kind<F,Kind<T,A>> parSequence(Traverse<T> traverse, Kind<T,? extends Kind<F,? extends A>> value)
    • parTraverse

      default <T extends Kind<T, ?>, A, B> Kind<F,Kind<T,B>> parTraverse(Traverse<T> traverse, Kind<T,? extends A> value, Function1<? super A,? extends Kind<F,? extends B>> mapper)
    • parAp

      default <A, B> Kind<F,B> parAp(Kind<F,? extends A> fa, Kind<F,? extends Function1<? super A,? extends B>> apply)
    • parMapN

      default <A, B, R> Kind<F,R> parMapN(Kind<F,? extends A> fa, Kind<F,? extends B> fb, Function2<? super A,? super B,? extends R> mapper)
    • parMapN

      default <A, B, C, R> Kind<F,R> parMapN(Kind<F,? extends A> fa, Kind<F,? extends B> fb, Kind<F,? extends C> fc, Function3<? super A,? super B,? super C,? extends R> mapper)
    • parMapN

      default <A, B, C, D, R> Kind<F,R> parMapN(Kind<F,? extends A> fa, Kind<F,? extends B> fb, Kind<F,? extends C> fc, Kind<F,? extends D> fd, Function4<? super A,? super B,? super C,? super D,? extends R> mapper)
    • parMapN

      default <A, B, C, D, E, R> Kind<F,R> parMapN(Kind<F,? extends A> fa, Kind<F,? extends B> fb, Kind<F,? extends C> fc, Kind<F,? extends D> fd, Kind<F,? extends E> fe, Function5<? super A,? super B,? super C,? super D,? super E,? extends R> mapper)
    • of

      static <F extends Kind<F, ?>, G extends Kind<G, ?>> Parallel<F,G> of(Monad<F> monad, Applicative<G> applicative, FunctionK<F,G> to, FunctionK<G,F> from)
    • identity

      static <F extends Kind<F, ?>> Parallel<F,F> identity(Monad<F> monad)