Class Sequence<A, App extends Applicative<?,App>, Trav extends Traversable<?,Trav>, TravA extends Traversable<A,Trav>, AppTrav extends Applicative<TravA,App>>
java.lang.Object
com.jnape.palatable.lambda.functions.builtin.fn2.Sequence<A,App,Trav,TravA,AppTrav>
- Type Parameters:
A- the Traversable element typeApp- the Applicative unification parameterTrav- the Traversable unification parameterTravA- the Traversable instance wrapped in the output ApplicativeAppTrav- the concrete parametrized output Applicative type
- All Implemented Interfaces:
Fn1<Traversable<? extends Applicative<A,App>, Trav>, Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav>>, Fn2<Traversable<? extends Applicative<A, App>, Trav>, Fn1<TravA, ? extends AppTrav>, AppTrav>, Applicative<Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav>, Fn1<Traversable<? extends Applicative<A, App>, Trav>, ?>>, Cartesian<Traversable<? extends Applicative<A, App>, Trav>, Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav>, Fn1<?, ?>>, Cocartesian<Traversable<? extends Applicative<A, App>, Trav>, Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav>, Fn1<?, ?>>, Contravariant<Traversable<? extends Applicative<A, App>, Trav>, Profunctor<?, Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav>, Fn1<?, ?>>>, Functor<Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav>, Fn1<Traversable<? extends Applicative<A, App>, Trav>, ?>>, Profunctor<Traversable<? extends Applicative<A, App>, Trav>, Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav>, Fn1<?, ?>>, Monad<Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav>, Fn1<Traversable<? extends Applicative<A, App>, Trav>, ?>>, MonadReader<Traversable<? extends Applicative<A, App>, Trav>, Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav>, Fn1<Traversable<? extends Applicative<A, App>, Trav>, ?>>, MonadRec<Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav>, Fn1<Traversable<? extends Applicative<A, App>, Trav>, ?>>, MonadWriter<Traversable<? extends Applicative<A, App>, Trav>, Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav>, Fn1<Traversable<? extends Applicative<A, App>, Trav>, ?>>
public final class Sequence<A, App extends Applicative<?,App>, Trav extends Traversable<?,Trav>, TravA extends Traversable<A,Trav>, AppTrav extends Applicative<TravA,App>>
extends Object
implements Fn2<Traversable<? extends Applicative<A,App>, Trav>, Fn1<TravA, ? extends AppTrav>, AppTrav>
Given a
Traversable of Applicatives and a pure Applicative constructor, traverse the
elements from left to right, zipping the Applicatives together and collecting the results. If the
Traversable is empty, simply wrap it in the Applicative by calling pure.
Modulo any type-level coercion, this is equivalent to traversable.traverse(id(), pure).
Note that specialized overloads exist for certain built-in JDK types that would otherwise be instances
Traversable if it weren't for the extensibility problem.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncheckedApply(Traversable<? extends Applicative<A, App>, Trav> traversable, Fn1<TravA, ? extends AppTrav> pure) static <A, App extends Applicative<?,App>, Trav extends Traversable<?, Trav>, TravA extends Traversable<A, Trav>, AppTrav extends Applicative<TravA, App>>
Sequence<A, App, Trav, TravA, AppTrav> sequence()static <A, App extends Applicative<?,App>, Trav extends Traversable<?, Trav>, TravA extends Traversable<A, Trav>, AppTrav extends Applicative<TravA, App>>
Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav> sequence(Traversable<? extends Applicative<A, App>, Trav> traversable) static <A, App extends Applicative<?,App>, Trav extends Traversable<?, Trav>, TravA extends Traversable<A, Trav>, AppTrav extends Applicative<TravA, App>>
AppTravsequence(Traversable<? extends Applicative<A, App>, Trav> traversable, Fn1<TravA, ? extends AppTrav> pure) static <A, App extends Applicative<?,App>, AppIterable extends Applicative<Iterable<A>, App>>
Fn1<Fn1<Iterable<A>, ? extends AppIterable>, AppIterable> sequence(Iterable<? extends Applicative<A, App>> iterableApp) static <A, App extends Applicative<?,App>, AppIterable extends Applicative<Iterable<A>, App>>
AppIterablesequence(Iterable<? extends Applicative<A, App>> iterableApp, Fn1<Iterable<A>, ? extends AppIterable> pure) static <A, B, App extends Applicative<?,App>, AppMap extends Applicative<Map<A, B>, App>>
Fn1<Fn1<Map<A, B>, ? extends AppMap>, AppMap> sequence(Map<A, ? extends Applicative<B, App>> mapApp) static <A, B, App extends Applicative<?,App>, AppMap extends Applicative<Map<A, B>, App>>
AppMapsequence(Map<A, ? extends Applicative<B, App>> mapApp, Fn1<Map<A, B>, ? extends AppMap> pure) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Fn1
andThen, carry, cartesian, censor, choose, cocartesian, diMap, diMapR, discardL, flatMap, fmap, lazyZip, listens, local, pure, self, thunk, toFunction, trampolineM, zip, zip
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
Sequence
private Sequence()
-
-
Method Details
-
checkedApply
public AppTrav checkedApply(Traversable<? extends Applicative<A, App>, Trav> traversable, Fn1<TravA, ? extends AppTrav> pure) - Specified by:
checkedApplyin interfaceFn2<A, App extends Applicative<?,App>, Trav extends Traversable<?, Trav>>
-
sequence
public static <A, App extends Applicative<?,App>, Trav extends Traversable<?, Sequence<A,Trav>, TravA extends Traversable<A, Trav>, AppTrav extends Applicative<TravA, App>> App, sequence()Trav, TravA, AppTrav> -
sequence
public static <A, App extends Applicative<?,App>, Trav extends Traversable<?, Fn1<Fn1<TravA, ? extends AppTrav>, AppTrav> sequenceTrav>, TravA extends Traversable<A, Trav>, AppTrav extends Applicative<TravA, App>> (Traversable<? extends Applicative<A, App>, Trav> traversable) -
sequence
public static <A, App extends Applicative<?,App>, Trav extends Traversable<?, AppTrav sequenceTrav>, TravA extends Traversable<A, Trav>, AppTrav extends Applicative<TravA, App>> (Traversable<? extends Applicative<A, App>, Trav> traversable, Fn1<TravA, ? extends AppTrav> pure) -
sequence
public static <A, App extends Applicative<?,App>, AppIterable extends Applicative<Iterable<A>, App>> Fn1<Fn1<Iterable<A>, ? extends AppIterable>, AppIterable> sequence(Iterable<? extends Applicative<A, App>> iterableApp) -
sequence
public static <A, App extends Applicative<?,App>, AppIterable extends Applicative<Iterable<A>, App>> AppIterable sequence(Iterable<? extends Applicative<A, App>> iterableApp, Fn1<Iterable<A>, ? extends AppIterable> pure) -
sequence
public static <A, B, App extends Applicative<?,App>, AppMap extends Applicative<Map<A, Fn1<Fn1<Map<A,B>, App>> B>, ? extends AppMap>, AppMap> sequence(Map<A, ? extends Applicative<B, App>> mapApp) -
sequence
public static <A, B, App extends Applicative<?,App>, AppMap extends Applicative<Map<A, AppMap sequenceB>, App>> (Map<A, ? extends Applicative<B, App>> mapApp, Fn1<Map<A, B>, ? extends AppMap> pure)
-