# Package org.apache.tapestry5.func

Light-weight functional programming for Flows of values

- Interface Summary
  Interface | Description
  --- | ---
  Flow<T> | A flow is a a functional interface for working with an ordered collection of elements.
  FlowOperations<T,​FT> |
  LazyFunction<T> | A lazy function is used to populate a `Flow` incrementally.
  LazyValue<T> | A function that returns a value, allowing the computation of that value to be deferred as late as possible.
  Mapper<S,​T> | Interface for operation `Flow.map(Mapper)` to define how Flow elements are mapped from one type to another (or otherwise transformed).
  Mapper2<A,​B,​C> | A generalization of `Mapper` for a two-input function.
  Predicate<T> | Used when filtering a collection of objects of a given type; the predicate is passed each object in turn, and returns true to include the object in the result collection.
  Reducer<A,​T> | A reducer takes an accumulator value and a single value from a collection and computes a new accumulator value.
  Worker<T> | An operational function used with a `Flow`.
  ZippedFlow<A,​B> | The result of the `Flow.zipWith(Flow)` method (or created from a Map via `F.zippedFlow(Map)`), a Flow of combined `Tuple` values (that can be deconstructed, eventually, using `ZippedFlow.unzip()`).

- Class Summary
  Class | Description
  --- | ---
  F | Functional operations on collections with generics support.
  LazyContinuation<T> | The result of the evaluation of a `LazyFunction`.
  LazyZipValue<A,​B> |
  Tuple<A,​B> | A Tuple holds two values of two different types.