Revision history for Ekorn-Pipeline

Unreleased

    The pipeline from DBIx-Squirrel v2.0.2, on its own, so that any
    function can take stages from its caller.

    - Requires Perl 5.36 or later.
    - Ekorn::Pipeline runs values through a list of stages, each a code
      reference given one value, in $_ and as its argument, and
      returning nothing (a filter), one value (a map) or several (a
      flatMap). A pipeline is called with values, or pulls them from a
      source with an iterator, calling it only as results are wanted.
    - Ekorn::Pipeline::Stop ends a pipeline early, passing on any
      values it carries, after which the source isn't called again. A
      stop not made by throw, and so not an array, carries nothing.
    - Ekorn::Pipeline::Gather makes a stage afresh for each run, with
      an optional end function, called once the values run out.
    - Ekorn::Pipeline::Pipes gives a class pipe and tap methods, which
      run the object through stages.
    - Canned stages: take, drop, take_while and drop_while in
      Ekorn::Pipeline::Stages::Flow; batch and collect in
      Ekorn::Pipeline::Stages::Batch; peek, count_into and dump_to in
      Ekorn::Pipeline::Stages::Taps.
    - A stage that dies is named by its place, at the caller's line, and
      so are mistakes in making a pipeline or a canned stage.
    - Modules of stages can live under any namespace: general stages
      under Ekorn::Pipeline::Stages, and those for one kind of value or
      source with the module that knows about it, built from Gather,
      Stop and croakf, which reports at the caller's line.
    - Versions: a v0.1.x only fixes or adds. A change to how stages
      behave, or a public name dropped or renamed, waits for v0.2.0.
    - A how-to, docs/HOWTO.md, with recipes for callers, function
      authors and stage authors, and a reference, docs/REFERENCE.md,
      describing every module and how a pipeline behaves, with notes
      for stage authors. Both are on GitHub, linked from the README.
