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.

[maintain]

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)]))
 ParseOk
   (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.

Properties

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

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees