Skip to content
This repository has been archived by the owner on Aug 23, 2018. It is now read-only.

Adding/removing/changing infix declarations should be signalled by diff, as MAJOR change #197

Closed
jvoigtlaender opened this issue Mar 9, 2016 · 1 comment

Comments

@jvoigtlaender
Copy link
Contributor

For example, assume that in the core package's Basics.elm the line

infixr 0 <|

were replaced by

infixl 0 <|

At current, elm-package diff would ignore that change. But it should actually be considered a MAJOR change under semantic versioning, because it amounts to changing the type of expressions. For example, a client of core may contain an expression like f <| g <| x. Whether or not this expression is well-typed (given some specific f, g, x) and which type it has (say, if f, g, x are unconstrained and one simply uses type inference) will change between having infixr or infixl for <|. So ignoring that change when computing the diff for core breaks the guarantees expected from semantic versioning in a big way.

@evancz
Copy link
Contributor

evancz commented Jul 8, 2017

The new implementation checks for that here, so it will count as a major change. The diffs also show the associativity and precedence as well, so you can see the change even though the name and type stays the same.

@evancz evancz closed this as completed Jul 8, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants