Diff2.SOutput signature of Diff.Make.
lcs ~equal seq1 seq2 computes the LCS (longest common sequence) of seq1 and seq2. Elements of seq1 and seq2 are compared with equal. equal defaults to Pervasives.(=).
Elements of lcs are `Common (pos1, pos2, e) where e is an element, pos1 is a position in seq1, and pos2 is a position in seq2.
diff ~equal seq1 seq2 computes the diff of seq1 and seq2. Elements of seq1 and seq2 are compared with equal.
Elements only in seq1 are represented as `Removed (pos, e) where e is an element, and pos is a position in seq1; those only in seq2 are represented as `Added (pos, e) where e is an element, and pos is a position in seq2; those common in seq1 and seq2 are represented as `Common (pos1, pos2, e) where e is an element, pos1 is a position in seq1, and pos2 is a position in seq2.