You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The homepage currently promotes the following feature:
Enforced Semantic Versioning
Elm detects all API changes automatically thanks to its type system. We use that information to guarantee that every single Elm package follows semantic versioning precisely. No surprises in PATCH releases.
However that's simply not true. An API is more than its types: behavior is also part of an API.
If you insert a - before the 3 and release a new PATCH version: BOOM, you have just broken SemVer!
Elm does not "guarantee that every single Elm package follows semantic versioning precisely". You can intentionally break it and for complex functions you might even break SemVer without realizing it.
Edit: I have since learned that Elm can in fact prevent semantic versioning, as described in elm/compiler#2099. So elm does in fact enforce an incorrect interpretation of semantic versioning.
The text was updated successfully, but these errors were encountered:
The homepage currently promotes the following feature:
However that's simply not true. An API is more than its types: behavior is also part of an API.
To illustrate this with a simple example:
If you insert a
-
before the3
and release a new PATCH version: BOOM, you have just broken SemVer!Elm does not "guarantee that every single Elm package follows semantic versioning precisely". You can intentionally break it and for complex functions you might even break SemVer without realizing it.
Edit: I have since learned that Elm can in fact prevent semantic versioning, as described in elm/compiler#2099. So elm does in fact enforce an incorrect interpretation of semantic versioning.
The text was updated successfully, but these errors were encountered: