Description
Prettyprint and compare Data values.
Description
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