The GenericPretty package
GenericPretty is a haskell library that provides support for automatic derivation of pretty printing functions on user defined data types. The Pretty library http://www.haskell.org/ghc/docs/7.0.4/html/libraries/ghc-7.0.4/Pretty.html is used underneath, the work is done over Pretty.Doc types.
The output provided by the library functions is identical to that of Prelude.show, except it has extra whitespace.
This requires the use of the new GHC.Generics features: http://www.haskell.org/haskellwiki/Generics. As of 9.08.2011, these aren't present in the stable GHC releases, but seem to be present in the GHC HEAD development snapshots >= 7.1.20110601.
The Generics used are based on those described in the paper A Generic Deriving Mechanism for Haskell : http://dreixel.net/research/pdf/gdmh.pdf . The changes from the original paper on the ghc implementation are described here: http://www.haskell.org/haskellwiki/Generics#Changes_from_the_paper.
For more info and examples of usage please see the README file included in the package and the API at http://haggismcmutton.github.com/GenericPretty/
Installation of the package is straightforward, if needed, instructions can be found, for instance, here: 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.1.20110601), ghc-prim [details]|
|Category||Text, Generics, Pretty Printer|
|Source repository||head: git clone email@example.com:HaggisMcMutton/GenericPretty.git|
|Uploaded||Wed Aug 10 04:43:38 UTC 2011 by RazvanRanca|
|Distributions||LTSHaskell:1.2.1, NixOS:1.2.1, Stackage:1.2.1|
|Downloads||4560 total (218 in last 30 days)|
|Status||Docs uploaded by user|
Build status unknown [no reports yet]
- GenericPretty-1.0.1.tar.gz [browse] (Cabal source package)
- Package description (included in the package)
For package maintainers and hackage trustees