Language-aware structural diff

See code changes as structure, not noise.

ydiff understands Lisp syntax, ignores formatting churn, and finds code that was moved, reordered, wrapped, or renamed.

$ diff-lisp mk1.ss mk2.ss

[info] size of program 1: 796
[info] size of program 2: 1894
[diffing]
........
[moving]
|.........................|...||.

[finished] 0 seconds
output: mk1-mk2.html

Interactive output

Hover or select matched fragments to follow their structural counterpart across both source files.

mk1.ss ↔ mk2.ss Open full page

More comparisons

Each page was generated from the example sources included in this repository.