@hackage data-pprint0.2.4.2

Prettyprint and compare Data values

Prettyprint and compare Data values.

  • Size limit for the output

  • Time limit for the computation

  • Escape exceptions

  • Do not escape unicode characters

  • Comparison: Highlight the first difference

  • Comparison: Yes, No or Maybe results

Probably you need only the pprint and (===) functions from the Data.PPrint module.

Usage examples:

pprint [1..]
pprintTo 10000 $ repeat [1..]
pprint $ iterate (*10) 1
pprint $ map length $ replicate 5 [1..] ++ repeat []
pprint [2 `div` 0, error "xxx", 18, 4 `div` 0]
[1..10] === reverse [10,9..1]
[1..10] === reverse [10..1]
reverse [10..] === [1..]
[1..] === [1..99] ++ [101..]
([1..], [1..]) === ([1..], [1..100])
(error "x", [1..]) === (0 `div` 0, reverse [1..])
error ("xx" ++ show (length [1..])) === 1
error ("xx" ++ error "yy") === 1
(error $ unlines $ replicate 300 "xxxxxxxxxxxxxxxxxxxxxxxxxxx") === 1
pprint ['a'..]
pprint $ "hello" ++ [error "x"] ++ "world!"

See also http://pnyf.inf.elte.hu/fp/Show_en.xml

Changes since 0.1: Refactoring, proper handling of nested errors