The smallest type change make entire APIs incompatible, hence a lot of pain in OCaml: forced upgrades, forced downgrades, crazy version update schedules, extra forks, reluctance to fix bad early choices that would break compatibility, etc. Types DIRECTLY cause library badness.
Even "not for long" can be of great help in decoupling the release schedules of libraries so you don't need to constantly fork entire ecosystems unless you want e.g. last year's version.
-
-
This actually reminds me of this 2009 essay that sparked my involvement with ASDF: https://fare.livejournal.com/149264.html Tight coupling between releases of different software creates social chaos. Loose coupling brings social order. People need slack.
-
While maintaining ASDF myself, I learned to give users a year before making a change that breaks compatibility in corner cases, and to give them twenty years before making a change that breaks compatibility in the usual case.
- 12 more replies
New conversation -
-
-
Having an overlap with deprecation notices and migration tools is definitely a good idea. And types help with that. In a strongly types system, many automatic refactorings are possible. Without types, you're reduced to guesswork.
-
Example: For all the issues with XCode and Swift tooling in particular, their migration paths are _very_ good. They break API and even the _language_ all the time, and you migrate in minutes.
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
Read my blog!