Underrated perk of JSON: it's easy to programmatically make changes to a file made by a human.
Very few other formats have this advantage. `cargo add` took a bunch more implementation work than `npm install`, because preserving TOML comments takes more work.
miniblog.
Related Posts
LLMs are surprisingly good at reducing crash samples.
I've had success with "this project crashes my static analysis tool with the following command, try to shrink the repro whilst preserving the crash. Commit each smaller version to a branch".
ASTs typically discard comments, and that's usually what you want.
The only time (AFAICS) that preserving comments is useful is for writing a code formatter.
Could you write a formatter in terms of a list of lexemes? A CST is a non-trivial bit of code for one use case.
Showing lines of context is a remarkably hard problem for a syntactic diff.
Line 23 on the right is new, but lines 24 and 25 also map to the same line on the left! Initially I thought this was a bug.
It's impossible to show exactly N context lines whilst preserving alignment.
