data-pprint-0.2.1.4: Prettyprint and compare Data values

data-pprint-0.2.1.4: 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..]
 pprint $ 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

Modules