1. 3

  2. 2

    This is very hard to read as someone who has no context in the larger relational-pipes project. Can you link to the manpage of the new scripts, or some equivalent?

    You seem to be motivating it with some example involving fstab, but it’s not clear what the inputs and desired outputs are.

    You generate some input for the script, but it too involves some bespoke command (relpipe-in-cli). Can you just show numbers.rp and skip how it’s generated, since that seems irrelevant to the main commands?

    1. 3

      For context I recommend reading the front page, Principles and Classic pipeline example.

      Relational pipes are an open data format designed for streaming structured data between two processes.

      i.e. it is not about particular tools, rather:

      More generally, Relational pipes are a philosophical continuation of the classic *NIX pipelines and the relational model.

      This software is still in the development phase and it has unstable API (before v1.0 there might be incompatible changes, not much, it is relatively stable, however: you have been warned :-). There is still quite long TODO list… and using the software is part of the process of crafting the specification. Feedback from potential users and practical experience is important to verify theoretical concepts (that look nice on paper) and tune implementation details.

      The content of the *.rp files is not important for now. Before v1.0 the format specification will be published and then it will make sense to work with content of these files (however it would be still much more convenient to use a reader or writer library – so the specification is rather important to those, who will want to implement such libraries in not yet supported languages). In current (pre v1.0) versions, I recommend using other format like CSV, XML or Recfile – there are input and output filters for them, so if you serialize data e.g. into CSV or Recfile, you will be able to read them in future versions. The pre v1.0 versions are not backward compatible, but there is „Backward incompatible changes“ chapter in the release notes. The relational format and API of libraries and tools will be stable and semantically versioned since v1.0.

      If you are interested, please share your use cases and comments (maybe the mailing list would be better place for more in-depth discussion). BTW: There was prolific discussions on Czech forums that led e.g. to implementing the AWK transformation module and other improvements – but here on Lobste.rs there is very low feedback rate.