Re:Elm 0.14 – Simpler Core, Better Tools
by couchand on Thursday December 11, 2014 @10:17AM
(#8735151)
My 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.
I 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.
That being said it's possible to change a library's behaviour without touching the API. Consider the following diff:
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.