The groom package

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.


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.


Versions0.1, 0.1.1, 0.1.2,,
Change logNone available
Dependenciesbase (>=3 && <5), groom, haskell-src-exts (>=1.0.0) [details]
AuthorEdward Z. Yang
UploadedWed Apr 19 02:28:40 UTC 2017 by EdwardYang




Maintainers' corner

For package maintainers and hackage trustees