4 ms·
It seems doable to differentiate additions from (breaking) changes if all the API is statically defined. It would be nice to even have the feedback on larger ch
by zimbatm 12y ago
It seems doable to differentiate additions from (breaking) changes if all the API is statically defined. It would be nice to even have the feedback on larger changes.
That being said it's possible to change a library's behaviour without touching the API. Consider the following diff:
-add a b = a + b
+add a b = a - b
Granted the example is simplistic. With the API versioning system in place the author should have renamed the method and would have gotten the right result. It's just to show that it wouldn't be a silver bullet.
- couchand 12y agoMy attitude towards developer tooling tends to be: build the tools first for the experts, and second make sure the are learnable. I can't stand professional tools that are built primarily for new users. Englebart's violin [0] and all that. That said, it might be the case that removing the responsibility of versioning from experts would make them less concerned about the ramifications, and less likely to notice when they make a change like this one (well not this one exactly, but one similar but more reasonable). You really do need tests in addition to static analysis to be sure of these things. [0]: http://www.loper-os.org/?p=861 http://www.loper-os.org/?p=861
- jmite 12y agoI think it has as much to do with standardization as ease of use. This way, if there are multiple experts, they don't each do it their own way. Plus, it gives a degree of reliability to those using the packages, which is something you can't necessarily count on in Haskell right now.