The GenericPretty package
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/Generics#Changes_from_the_paper.
This package requires the use of the new GHC.Generics features http://www.haskell.org/haskellwiki/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 Pretty.Doc, using the Pretty library http://www.haskell.org/ghc/docs/7.0.4/html/libraries/ghc-7.0.4/Pretty.html.
The Pretty library plans to incorporate a Style datatype to control details of printing (such as line length). The library MyPretty is provided as a thin wrapper around the Pretty library, to support Style related features. Once the Pretty library supports Style, MyPretty will become obsolete and be replaced by Pretty.
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
[Skip to ReadMe]
|Versions||0.1.0, 0.1.1, 0.1.2, 0.1.3, 1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8, 1.1.9, 1.2.0, 1.2.1|
|Change log||None available|
|Dependencies||base (>=3 && <5), ghc (>=7.2), ghc-prim [details]|
|Category||Text, Generics, Pretty Printer|
|Source repository||head: git clone firstname.lastname@example.org:HaggisMcMutton/GenericPretty.git|
|Uploaded||Tue Aug 16 23:00:47 UTC 2011 by RazvanRanca|
|Distributions||LTSHaskell:1.2.1, NixOS:1.2.1, Stackage:1.2.1|
|Downloads||4800 total (201 in last 30 days)|
|Status||Docs uploaded by user|
Build status unknown [no reports yet]
- GenericPretty-1.1.8.tar.gz [browse] (Cabal source package)
- Package description (included in the package)
For package maintainers and hackage trustees