java.lang.Object
com.jnape.palatable.lambda.functions.builtin.fn3.ScanLeft<A,B>
Type Parameters:
A - The Iterable element type
B - The accumulation type
All Implemented Interfaces:
Fn1<Fn2<? super B,? super A,? extends B>,Fn1<B,Fn1<Iterable<A>,Iterable<B>>>>, Fn2<Fn2<? super B,? super A,? extends B>,B,Fn1<Iterable<A>,Iterable<B>>>, Fn3<Fn2<? super B,? super A,? extends B>,B,Iterable<A>,Iterable<B>>, Applicative<Fn1<B,Fn1<Iterable<A>,Iterable<B>>>,Fn1<Fn2<? super B,? super A,? extends B>,?>>, Cartesian<Fn2<? super B,? super A,? extends B>,Fn1<B,Fn1<Iterable<A>,Iterable<B>>>,Fn1<?,?>>, Cocartesian<Fn2<? super B,? super A,? extends B>,Fn1<B,Fn1<Iterable<A>,Iterable<B>>>,Fn1<?,?>>, Contravariant<Fn2<? super B,? super A,? extends B>,Profunctor<?,Fn1<B,Fn1<Iterable<A>,Iterable<B>>>,Fn1<?,?>>>, Functor<Fn1<B,Fn1<Iterable<A>,Iterable<B>>>,Fn1<Fn2<? super B,? super A,? extends B>,?>>, Profunctor<Fn2<? super B,? super A,? extends B>,Fn1<B,Fn1<Iterable<A>,Iterable<B>>>,Fn1<?,?>>, Monad<Fn1<B,Fn1<Iterable<A>,Iterable<B>>>,Fn1<Fn2<? super B,? super A,? extends B>,?>>, MonadReader<Fn2<? super B,? super A,? extends B>,Fn1<B,Fn1<Iterable<A>,Iterable<B>>>,Fn1<Fn2<? super B,? super A,? extends B>,?>>, MonadRec<Fn1<B,Fn1<Iterable<A>,Iterable<B>>>,Fn1<Fn2<? super B,? super A,? extends B>,?>>, MonadWriter<Fn2<? super B,? super A,? extends B>,Fn1<B,Fn1<Iterable<A>,Iterable<B>>>,Fn1<Fn2<? super B,? super A,? extends B>,?>>

public final class ScanLeft<A,B> extends Object implements Fn3<Fn2<? super B,? super A,? extends B>,B,Iterable<A>,Iterable<B>>
Given an Iterable of As, a starting value B, and a Fn2<B, A, B>, iteratively accumulate over the Iterable, collecting each function application result, finally returning an Iterable of all the results. Note that, as the name implies, this function accumulates from left to right, such that scanLeft(f, 0, asList(1,2,3,4,5)) is evaluated as 0, f(0, 1), f(f(0, 1), 2), f(f(f(0, 1), 2), 3), f(f(f(f(0, 1), 2), 3), 4), f(f(f(f(f(0, 1), 2), 3), 4), 5).
See Also:
  • Field Details

    • INSTANCE

      private static final ScanLeft<?,?> INSTANCE
  • Constructor Details

    • ScanLeft

      private ScanLeft()
  • Method Details