final-pretty-printer

Extensible pretty printing with semantic annotations and proportional fonts

Latest on Hackage:0.1.0.0

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

MIT licensed by David Christiansen and David Darais and Weixi Ma
Maintained by [email protected]

This is the Final Pretty Printer, an extensible prettry printing library that supports semantic annotations and proportional-width fonts. The library is extensible because it uses a final, rather than initial, encoding of pretty printer documents - they are monadic programs, rather than a datatype. This means it can be extended by monad transformers. Semantic annotations allow pretty printer documents to contain references to the data that they represent, which can enable interactive output. Proportional-width fonts are supported by allowing the measurement of widths to be performed in some arbitrary monad, so IO can be used to look at the output of a font rendering library.