The groom package

[Tags:library, public-domain]

Automatically derived Show instances are an easy way to inspect data in your program. However, for large data-structures, the resulting output lacks whitespace, making it unreadable. Groom offers an replacement to show called groom which attempts to pretty-print the output of show. For example:

 let x = parseExp "foobar 1 [1,2]"
 in do
   putStrLn (show x)
   putStrLn (groom x)

results in:

 ParseOk (App (App (Var (UnQual (Ident "foobar"))) (Lit (Int 1))) (List [Lit (Int 1),Lit (Int 2)]))
   (App (App (Var (UnQual (Ident "foobar"))) (Lit (Int 1)))
      (List [Lit (Int 1), Lit (Int 2)]))

Groom works only on Show instances that output valid Haskell code; if Groom can't understand its input, it will not make any changes.


Versions 0.1, 0.1.1, 0.1.2
Dependencies base (>=3 && <5), haskell-src-exts (>=1.0.0 && <1.10) [details]
License PublicDomain
Author Edward Z. Yang
Stability Unknown
Category Text
Uploaded Wed Jul 7 03:20:28 UTC 2010 by EdwardYang
Distributions LTSHaskell:0.1.2, NixOS:0.1.2, Stackage:0.1.2, Tumbleweed:0.1.2
Downloads 3490 total (14 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees