-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Pretty printing for well-behaved Show
--   instances.
--   
--   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 <a>show</a> called <a>groom</a> which attempts to
--   pretty-print the output of <a>show</a>. For example:
--   
--   <pre>
--   let x = parseExp "foobar 1 [1,2]"
--   in do
--     putStrLn (show x)
--     putStrLn (groom x)
--   </pre>
--   
--   results in:
--   
--   <pre>
--   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)]))
--   </pre>
--   
--   Groom works only on Show instances that output valid Haskell code; if
--   Groom can't understand its input, it will not make any changes.
@package groom
@version 0.1.2.1

module Text.Groom
groom :: Show a => a -> String
groomString :: String -> String
