clojure.data

since v0.0-1503

diff - function
(diff a b)
Recursively compares a and b, returning a tuple of
[things-only-in-a things-only-in-b things-in-both].
Comparison rules:

* For equal a and b, return [nil nil a].
* Maps are subdiffed where keys match and values differ.
* Sets are never subdiffed.
* All sequential things are treated as associative collections
  by their indexes, with results returned as vectors.
* Everything else (including strings!) is treated as
  an atom and compared for equality.

Types and Protocols

Diff - protocol
Implementation detail. Subject to change.

EqualityPartition - protocol
Implementation detail. Subject to change.