A tree that describes differences between two trees: - If the two trees are identical, the result is the same as (either) input.
A tree that describes differences between two trees: - If the two trees are identical, the result is the same as (either) input. - If the trees differ only in the labels on nodes, then the result has those nodes decorated with "[Changed] old -> new". - If a single node is unmatched on either side, it is decorated with "[Added]" or "[Deleted]". As soon as a difference is found and decorated, the subtree(s) beneath the decorated nodes are not inspected.
Node types are not compared or necessarily preserved.
A 2D String representation of this Tree, separated into lines.
A 2D String representation of this Tree, separated into lines. Based on scalaz Tree's show, but improved to use a single line per node, use unicode box-drawing glyphs, and to handle newlines in the rendered nodes.