Fails the test and shows a git-like diff if the comparison operation
evaluates to
False when applied to its arguments.
The comparison function is the second argument, which may be
counter-intuitive to Haskell programmers. However, it allows operators
to be written infix for easy reading:
diff y (<) 87
diff x (<=) r
This function behaves like the unix
diff tool, which gives a
0 exit code if the compared files are identical, or a 1 exit code code
otherwise. Like unix
diff, if the arguments fail the
comparison, a /diff is shown.