Difftastic has been cited in a paper!
Modernizing SMT-Based Type Error Localization https://arxiv.org/abs/2408.09034
The authors use difftastic to work out which parts of a buggy program have actually changed, a great use case :)
miniblog.
Related Posts
Writing type params with <> (e.g. List<Int>) seems the most natural to me: probably because I encountered that syntax first.
Between C++, Java and TypeScript I think it's the most common too.
List[Int] seems to be next most common (Scala, Python) but TIL Gleam uses List(Int)!
I've been using "Expected Int, but got String" for my type error messages, but I've been wondering if I could do better.
"Expected Int here, but this value has type String" or "This expression requires Int, but the value is String".
Do you have a favourite?
Shower thought: using a tool like cargo-semver, could you build a package registry where the uploader never chooses the version number?
E.g. your last release was 5.2025-09-13 and you've just changed a type, so today's release is 6.2025-11-05.
