New EEP draft: Pinning operator ^ in patterns

Raimo Niskanen raimo+erlang-questions@REDACTED
Fri Jan 22 16:05:38 CET 2021


On Fri, Jan 22, 2021 at 11:32:42AM +0100, Nicolas Martyanoff wrote:
> On 2021-01-22 11:02, Raimo Niskanen wrote:
> > I am trying again, in hopefully a more civilized manner...
> > 
> > By constantly repeating that your opinion would not matter and that someone
> > has a plan to force this feature through you indirectly say:
> > *) That the decision process for an EEP and the Technical Board at Erlang/OTP
> >    at Ericsson can not be trusted to make a good decision for the Erlang
> >    language and the community.
> > *) That the community does not want this feature.
> > 
> > This is attacking the decision process itself instead of contributing to
> > the decision.  To me this feels like a way to force your point of view
> > through in this decision.
> 
> Try to put yourself in the shoes of those who reject the proposal:

Of course.  That applies to all parties, by the way.


> 
> - From the beginning, we are being told repeatedly that our answers do not
>   address the right part of the proposal, or are not valid arguments, or are
>   not the right way to argue. The last evolution of the debate is a comparison
>   to Trump...

I am sorry about the comparison to Trump.  That did not land well.

In the beginning, the arguments against the EEP, were mostly "it goes
agaist Erlang's simplicity and clarity", "it is not like Prolog therefore
not for Erlang", "having to edit all my code to fix a warning is
unacceptable".

Then came things like "pretend it is broken until your solution looks
marketable", "use Elixir instead", "write smaller functions and the problem
goes away", "this would damage the language and the community".

There were very few arguments about what the EEP stated that it would bring
i.e explicit intent.  Therefore I felt that I had to point out that the
debatteurs did not adress the proposal and had invalid arguments.  Also,
I actually think "pretend it is broken" and "use Elixir instead" is not
the right way to argue.


> 
> - As I already asked, for all these messages we still have not received any
>   information about who has real authority on this type of change to the
>   language. You are talking about a "decision process", but for the time being
>   I see Richard and you trying really hard to make everyone believe there is
>   some kind of fair debate.

A necomer to a community has a responsibility to learn about the community.
There are texts on the www.erlang.org site:
    https://www.erlang.org/erlang-enhancement-proposals
    https://www.erlang.org/erlang-enhancement-proposals/eep-0001
These point to the eeps@REDACTED mailing list where there are archives
that show how EEPs in the past have been discussed.

I assumed that all participating would be aware of how we handle EEPs.
I also saw no questions about how an EEP is handled, therefore nobody
gave answers.  But there were diffuse assumptions.

To be fair, very few EEPs have followed this process to the letter,
and EEP 1 itself is a bit outdated and imprecise.  But the intention and
relevant parts of the process should be clear.


> 
> - The original proposal comes from someone who is not part of the Erlang team.
>   You, as part of the Erlang team, immediately sided with him and started
>   engaging with everyone in favor of the proposition. There has been talks
>   about going forward with making the operator mandatory, changing scoping
>   rules, still more changes... So yes, there is an agenda.

It took 3 weeks before I entered the discussion, and I did so because in my
opinion the discussion was not about the claims of the EEP.

There is no agenda, expect that all may have their own agenda.
We tried to discuss possible futures and had different opinions about
how it should be introduced and about how mandatory it might be.

Another thing I assumed was that it was known that in a discussion about
an EEP I am (as everybody is) just a developer.  That I happen to be
on the Erlang team and may have a say in the decision is not relevant.
I just have a personal opinion here and do not talk for the Erlang/OTP
team and especially not the OTP Technical Board.

I assumed that was obvious.

> 
> - As for "the community not wanting this feature", there are indeed lots of
>   developers here who believe that this kind of change is a mistake (I'm
>   obviously not talking about an optional warning, since it would not modify
>   the language), I'm saying it directly because it is true.

Many that post to this list does not like this feature; that is true.
That the community as a whole does not want this feature is not neither
true nor false.  That this feature one day must become mandatory is also
not a certainity.

> 
> At the end of the day, this is about a proposition which, if adopted, could
> change a core aspect of the language in a non-backward compatible way and
> which would force all developers all around the world to eventually change all
> their code. And this is being discussed with you as single member of the
> Technical Board.

The change would not be non-backwards compatibly unless if the ^ operator
would be mandatory and that there would not exist a possibility to tell
the compiler otherwise.  I am very confident that it will never happen,
given this discussion..

I do not discuss this as a member of the OTP Technical Board, which I assumed
was obvious.  The OTP Techical Board should not be involved in the
discussion, but I am entitled to a personal opinion.

> 
> If you are the only one in charge of taking the final decision, then it is
> clear there is no real debate since you are obviously very much in favour. If
> you are not, then there is no real point in arguing for weeks without an
> official answer from the Erlang team.

I am far from the only one participating in the decision.
The Erlang/OTP team, from which most of the OTP Technical Board members
come, are some 10..15 developers, old in the game, with quite disparate
points of view.

EEP 1 states that:

    The committee members are the internal Erlang/OTP
    Technical Board plus for the specific case summoned experts.

I have pointed out to my boss that we should more often use external
experts, but there is a problem in how to select them in a fair way.
Maybe the Erlang Echosystem Foundation should be part of this.
Anyway, this is something that _really_ needs to be more transparent
for the Community!

> 
> -- 
> Nicolas Martyanoff
> http://snowsyn.net
> khaelin@REDACTED

-- 

/ Raimo Niskanen, Erlang/OTP, Ericsson AB


More information about the erlang-questions mailing list