Printers for Haskell Syntax
Here, we discuss the details and design of existing, and desired, printers for Haskell syntax.
One key motivation is to gather enough knowledge around the topic, so we can restructure
Outputable machinery in GHC (specially with Growable AST), and reuse it as a well-tested and well-maintained alternative to the existing printing packages.
Classical Pretty Printers
todo! (e.g., Hughes and Simon's, Wadler's, Leijen's, and also Christiansen's)
Debug Printers (Outputters)
Outputable instances in GHC, with the desired modification that they also print annotations)
Data Printers (Show)
Show type class in Prelude)