My favourite page in the difftastic manual is the Tricky Cases discussion.
Syntactic diffs/tree diffs have a completely different set of corner cases to textual diffs. It's a useful resource for anyone exploring this space.
miniblog.
Related Posts
LLMs are great at style transfer, and this works surprisingly well for syntactic transformations too.
I rewrote a small website's EJS templates to 1500 LOC of TSX with a oneshot in Claude. It took ~12 minutes, but it just worked.
(TSX seems nicer than EJS for static analysis.)
I really like pattern matching in Rust, but I find myself using it less and less.
`if let` and `let ... else` require substantially less indentation, and I often use them for Option values.
I don't miss this syntactic sugar in OCaml though. Maybe it's just because OCaml has a 2 space indent, unlike Rust's 4 space indent?
I'm experimenting with a patch-style display format for difftastic.
What do you think? Do the colours work? What about the last example, where there's only whitespace changes and the syntactic diff has nothing to highlight?
