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 typepublic 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>
Traversable
of Applicative
s and a pure Applicative
constructor, traverse the
elements from left to right, zipping the Applicative
s 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.
Modifier and Type | Method and Description |
---|---|
AppTrav |
checkedApply(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() |
static <A,App extends Applicative<?,App>,AppIterable extends Applicative<Iterable<A>,App>> |
sequence(Iterable<? extends Applicative<A,App>> iterableApp) |
static <A,App extends Applicative<?,App>,AppIterable extends Applicative<Iterable<A>,App>> |
sequence(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>> |
sequence(Map<A,? extends Applicative<B,App>> mapApp) |
static <A,B,App extends Applicative<?,App>,AppMap extends Applicative<Map<A,B>,App>> |
sequence(Map<A,? extends Applicative<B,App>> mapApp,
Fn1<Map<A,B>,? extends AppMap> pure) |
static <A,App extends Applicative<?,App>,Trav extends Traversable<?,Trav>,TravA extends Traversable<A,Trav>,AppTrav extends Applicative<TravA,App>> |
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>> |
sequence(Traversable<? extends Applicative<A,App>,Trav> traversable,
Fn1<TravA,? extends AppTrav> pure) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
apply, apply, checkedApply, compose, contraMap, curried, curry, diMapL, discardR, flip, fn2, fromBiFunction, toBiFunction, uncurry, widen
public AppTrav checkedApply(Traversable<? extends Applicative<A,App>,Trav> traversable, Fn1<TravA,? extends AppTrav> pure)
checkedApply
in interface Fn2<Traversable<? extends Applicative<A,App extends Applicative<?,App>>,Trav extends Traversable<?,Trav>>,Fn1<TravA extends Traversable<A,Trav>,? extends AppTrav extends Applicative<TravA,App>>,AppTrav extends Applicative<TravA,App>>
public 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()
public 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)
public static <A,App extends Applicative<?,App>,Trav extends Traversable<?,Trav>,TravA extends Traversable<A,Trav>,AppTrav extends Applicative<TravA,App>> AppTrav sequence(Traversable<? extends Applicative<A,App>,Trav> traversable, Fn1<TravA,? extends AppTrav> pure)
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)
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)
public 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)
public static <A,B,App extends Applicative<?,App>,AppMap extends Applicative<Map<A,B>,App>> AppMap sequence(Map<A,? extends Applicative<B,App>> mapApp, Fn1<Map<A,B>,? extends AppMap> pure)