silkscreen: prettyprinting transformers
Silkscreen abstracts the pretty-printing interface of prettyprinter
with a Printer
typeclass, allowing the definition of composable pretty-printer transformers, layering new behaviours onto the existing primitives. For example, Silkscreen.Prec
implements support for precedence à la showsPrec
, but using symbolic precedence levels, and Silkscreen.Rainbow
implements rainbow-parentheses.