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 java.lang.Object implements Fn2<Traversable<? extends Applicative<A,App>,Trav>,Fn1<TravA,? extends AppTrav>,AppTrav>
Given aTraversableofApplicatives and a pureApplicativeconstructor, traverse the elements from left to right, zipping theApplicatives together and collecting the results. If theTraversableis empty, simply wrap it in theApplicativeby callingpure.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
Traversableif it weren't for the extensibility problem.
-
-
Constructor Summary
Constructors Modifier Constructor Description privateSequence()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AppTravcheckedApply(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<java.lang.Iterable<A>,App>>
Fn1<Fn1<java.lang.Iterable<A>,? extends AppIterable>,AppIterable>sequence(java.lang.Iterable<? extends Applicative<A,App>> iterableApp)static <A,App extends Applicative<?,App>,AppIterable extends Applicative<java.lang.Iterable<A>,App>>
AppIterablesequence(java.lang.Iterable<? extends Applicative<A,App>> iterableApp, Fn1<java.lang.Iterable<A>,? extends AppIterable> pure)static <A,B,App extends Applicative<?,App>,AppMap extends Applicative<java.util.Map<A,B>,App>>
Fn1<Fn1<java.util.Map<A,B>,? extends AppMap>,AppMap>sequence(java.util.Map<A,? extends Applicative<B,App>> mapApp)static <A,B,App extends Applicative<?,App>,AppMap extends Applicative<java.util.Map<A,B>,App>>
AppMapsequence(java.util.Map<A,? extends Applicative<B,App>> mapApp, Fn1<java.util.Map<A,B>,? extends AppMap> pure)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.jnape.palatable.lambda.functions.Fn1
andThen, carry, cartesian, censor, choose, cocartesian, diMap, diMapR, discardL, flatMap, fmap, lazyZip, listens, local, pure, self, thunk, toFunction, trampolineM, zip, zip
-
-
-
-
Field Detail
-
INSTANCE
private static final Sequence<?,?,?,?,?> INSTANCE
-
-
Method Detail
-
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<?,Trav>,TravA extends Traversable<A,Trav>,AppTrav extends Applicative<TravA,App>> Sequence<A,App,Trav,TravA,AppTrav> sequence()
-
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)
-
sequence
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)
-
sequence
public static <A,App extends Applicative<?,App>,AppIterable extends Applicative<java.lang.Iterable<A>,App>> Fn1<Fn1<java.lang.Iterable<A>,? extends AppIterable>,AppIterable> sequence(java.lang.Iterable<? extends Applicative<A,App>> iterableApp)
-
sequence
public static <A,App extends Applicative<?,App>,AppIterable extends Applicative<java.lang.Iterable<A>,App>> AppIterable sequence(java.lang.Iterable<? extends Applicative<A,App>> iterableApp, Fn1<java.lang.Iterable<A>,? extends AppIterable> pure)
-
sequence
public static <A,B,App extends Applicative<?,App>,AppMap extends Applicative<java.util.Map<A,B>,App>> Fn1<Fn1<java.util.Map<A,B>,? extends AppMap>,AppMap> sequence(java.util.Map<A,? extends Applicative<B,App>> mapApp)
-
sequence
public static <A,B,App extends Applicative<?,App>,AppMap extends Applicative<java.util.Map<A,B>,App>> AppMap sequence(java.util.Map<A,? extends Applicative<B,App>> mapApp, Fn1<java.util.Map<A,B>,? extends AppMap> pure)
-
-