Rust's Iterator interface is growing on me. I replaced a bunch of `i += 1; foo.get(i)` loops with explicit calls to `.next()`. It's less code and easier to reason about.
miniblog.
Related Posts
I've released difftastic 0.48! Highlights in this release:
* Subword highlighting in replaced strings! This is a big improvement in many situations.
* Better Scala parsing
* Better Haskell handling
"If it compiles it probably works" is definitely more common in some languages.
What PL features make this more likely?
My current theory is that pattern matching on enums with exhaustiveness checking is the primary cause. Especially when null has been replaced with Option.
Linux historically used magic numbers to recognise structs being used incorrectly with void pointers. These have been increasingly replaced with type-safe macros: https://lwn.net/SubscriberLink/915163/ba83480903b82cb8/
Some of the original files were unchanged from the 90s!


