groom: Pretty printing for well-behaved Show instances.

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] [Publish]

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

Versions 0.1, 0.1.1, 0.1.2, 0.1.2.1, 0.1.2.1
Change log None available
Dependencies base (>=3 && <5), groom, haskell-src-exts (>=1.0.0) [details]
License BSD-3-Clause
Author Edward Z. Yang
Maintainer ezyang@mit.edu
Category Text
Uploaded by EdwardYang at 2017-04-19T02:28:40Z

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees