[Haskell-cafe] Reformatter for Show

Antoine Latter aslatter at gmail.com
Mon May 2 22:43:13 CEST 2011


On Mon, May 2, 2011 at 3:01 PM, Alexey Khudyakov
<alexey.skladnoy at gmail.com> wrote:
> Hello everyone!
>
> Haskell have nice automatically derivable Show type class. It's quite useful
> for debugging with one exception. String representation of even moderately
> large value is completely unreadable (example below).
>
> My question is there any tool for reformatting result of show so it could be
> read by human beings?
>
>

You could use the 'groom' package on Hackage:

http://hackage.haskell.org/package/groom

It works best for the derived show instances.

Antoine

>
> Real life example of world salad produced by show
>
>> Module (SrcLoc {srcFilename = "rec.hs", srcLine = 1, srcColumn = 1})
>> (ModuleName "Main") [OptionsPragma (SrcLoc {srcFilename = "rec.hs",
>> srcLine = 1, srcColumn = 1}) (Just GHC) "-F -pgmF ./preprocessor "]
>> Nothing (Just [EVar (UnQual (Ident "main"))]) [] [DataDecl (SrcLoc
>> {srcFilename = "rec.hs", srcLine = 3, srcColumn = 1}) DataType []
>> (Ident "Foo") [] [QualConDecl (SrcLoc {srcFilename = "rec.hs",
>> srcLine = 3, srcColumn = 12}) [] [] (RecDecl (Ident "Foo") [([Ident
>> "asd"],UnBangedTy (TyCon (UnQual (Ident "Int")))),([Ident
>> "fgh"],UnBangedTy (TyCon (UnQual (Ident "String"))))])] [(UnQual
>> ...
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>



More information about the Haskell-Cafe mailing list