Hi,

I'm happy to announce the first release of the pp library!

  https://github.com/diml/pp

This library provides a lean alternative to the Format module [1] of the standard library. It uses the same comcepts of boxes and break hints, however it defines its own algebra which some might find easier to work with and reason about.  I personally do :). The final rendering is still done via a formatter which makes it easy to integrate `Pp` in existing programs using `Format`.

We introduced this module in [Dune][2] to help improve the formatting of messages printed in the terminal and it has been a success. The new API is smaller, simpler and makes it easy for developers to do the right thing. Once the `Pp` module of Dune was mature enough, we decided to extract it into a separate library so that it could benefit others.

The library itself is composed of a single `Pp` module and has no dependencies.  Its documentation is self-contained and no previous knowledge is required to start using it, however the various guides for the `Format` module such as this one [3] should be applicable to `Pp` as well.

If you have used `Format` before and like me found its API complicated and difficult to use, I hope that you will find `Pp` nicer to work with!

Thanks,

Jeremie

[1]: https://caml.inria.fr/pub/docs/manual-ocaml/libref/Format.html
[2]: https://dune.build
[3]: http://caml.inria.fr/resources/doc/guides/format.en.html