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.
-
-
I dunno if it's that easy. We're changing formats and can't keep all the old types around for long. Perhaps included migration tools would work?
-
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.
- 14 more replies
New conversation -
-
-
IIRC, Ceylon supports the sort of 'union of types' APIs you're describing here. OTOH, my own preference for "not breaking APIs" is to simply implement two APIs, then redirect the old one to the new one. I do this for untyped APIs, too (e.g. Web APIs). https://en.wikipedia.org/wiki/Ceylon_(programming_language) …
-
That's how API evolution works in general. But if your types require you to duplicate your API entities, you may find that propagated down a few dependencies, the cost of duplication becomes exponential. Forking the entire ecosystem then soon becomes the least bad option.
- 3 more replies
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!