A generic, derivable, haskell pretty printer.
GenericPretty is a Haskell library that supports automatic derivation
of pretty printing functions on user defined data types.
The form of geenrics used is based on that introduced in the paper:
Magalhaes, Dijkstra, Jeuring, and Loh, A Generic Deriving Mechanism
for Haskell, 3'rd ACM Symposium on Haskell, pp. 37-48, September 2010,
http://dx.doi.org/10.1145/1863523.1863529. Changes from the
original paper in the GHC implementation are described here:
http://www.haskell.org/haskellwiki/GHC.Generics#Changes_from_the_paper.
This package requires the use of the new GHC.Generics features
http://www.haskell.org/haskellwiki/GHC.Generics, present from
GHC 7.2. Use of these features is indicated by the DeriveGeneric
pragma. or the flag -XDeriveGeneric.
Pretty printing produces values of type Text.PrettyPrint.Doc, using
the Text.PrettyPrint library
http://www.haskell.org/ghc/docs/latest/html/libraries/pretty-1.1.1.0/Text-PrettyPrint.html.
The output provided is a pretty printed version of that provided by
Prelude.show. That is, rendering the document provided by this pretty
printer yields an output identical to that of Prelude.show, except for
extra whitespace.
For information about the functions exported by the package please see
the API linked further down this page. For examples of usage, both
basic and more complex see the README file and the haskell source code
files in the TestSuite folder, both included in the package. Finally
for installation instructions also see the README file or this page:
http://www.haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package