packages feed

groom-0.1: groom.cabal

Name:               groom
Version:            0.1
Synopsis:           Slightly prettier printing for well-behaved Show
                    instances.
Description:        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.
License:            PublicDomain
Author:             Edward Z. Yang
Maintainer:         ezyang@mit.edu
Category:           Text
Build-type:         Simple
Cabal-version:      >=1.2

Library
  Exposed-modules:      Text.Groom
  Build-depends:        haskell-src-exts >= 1.0.0 && < 1.10,
                        base >= 3 && < 5