New EEP draft: Pinning operator ^ in patterns

Wojtek Surowka wojteksurowka@REDACTED
Tue Jan 19 12:48:21 CET 2021

> I am really puzzled by this kind of reasoning. Developers who believe that
the way bindings and matching works in Erlang is a problem and that Elixir
fixed it are free to use Elixir.
> It is really disturbing to see a small number of developers trying to
force this change down everyone's throat even though the reactions are
mostly negative. At this point, I agree with Ivan Uemlianin that "pushing it
through would damage the community".

I agree 100%. The most problematic part for me is that the proposed change
is not backward compatible. I saw arguments that it will impact only small
percentage of the code and the code will be easy to fix. I understand that
Erlang is used in different contexts, and in some of them it sounds an easy
thing to do. But if a system uses several third party applications/libraries
managed automatically by rebar3 the problem is much worse. A
backward-incompatible change would mean that the an upgrade makes my system
not working anymore, and I do not have an immediate and good way of fixing
it, if incompatibility is not in the code I have under direct control.

Does anyone know last time when a backward source incompatibility has been
introduced? I do not mean adding new things like maps. I mean breaking
changes, causing that code which could be used in release X cannot be used
in release X + 1.

Wojtek Surowka

More information about the erlang-questions mailing list