Re: [Erlang Forums] [Erlang/OTP Proposals/Proposals: RFC] Re-visiting EEP-0055

Austin Ziegler <[email protected]> Mon, 25 Apr 2022 13:26:05 -0400
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CAJ4ekQuU4bAwyHCuedeeQb+7j87UTR9v7R_VvDqbg4F0Z5L0+w@mail.gmail.com>
--000000000000ee9ac705dd7ddfea
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 25, 2022 at 1:12 PM Eric Pailleau <[email protected]>
wrote:

> Hi,
>
> Sorry but the only common point between Erlang and Elixir should be BEAM.
>
> That's all.
>
> Following you point of view, we could write an EEP at Elixir to ask
> variables must be bound only once, like Erlang, because... (feel blanks).
>

Except that the EEP was *not* created by an Elixir developer, but an Erlang
developer who found the concept useful. If I really felt that it would
improve Elixir to have a "bind once only" rule change, I would absolutely
suggest it with hopefully as much detail as was in this EEP that people
have rejected for purely emotional reasons.

There *are* fairly frequent discussions on elixir-core about what would be
good additions for Elixir. Sometimes they are accepted. Sometimes not.
Sometimes the ideas are good, but felt not to be in the spirit of Elixir (a
frequent request years ago would be auto-destructuring of maps; it has been
rejected firmly, and there are rarely-used modules that can offer
*similar* capabilities
through Elixir=E2=80=99s macro capabilities). Sometimes the ideas are good,=
 but
considered to be better fits to propose to Erlang itself so that Elixir can
build atop a stronger foundation.

What I haven=E2=80=99t seen in elixir-core is the emotional overreaction to=
 an
idea. It=E2=80=99s probably because elixir-core is small enough that the co=
re
developers and the language=E2=80=99s creator are still quite active in mos=
t
discussions, which is not really true of the Erlang development core
(especially since the move to the forum). Let me be clear, I=E2=80=99m not =
saying
it=E2=80=99s because I think the Elixir community is better. I am impressed
(mostly) with the Erlang community=E2=80=99s cohesiveness and ability to wo=
rk
together. I am disappointed that a good, well-written EEP is being
dismissed for reasons that are more emotional than considered, and that
there=E2=80=99s unnecessary sideswipes against other languages in the proce=
ss.

I ultimately don=E2=80=99t care whether the EEP is adopted or not. If adopt=
ed as
is, it offers some optimizations that may be usable by the compiler. If
adopted with changes along Lo=C3=AFc=E2=80=99s suggestions, it offers room =
for future
optimizations and extensibility without the use of further sigils. If
adopted as the *inverse* meaning (as someone suggested, such that the pin
marks a *mutable* instead of matching variable) the change will be more
disruptive, but also equally good. If not adopted, Erlang will survive. But
the discussion should be on the merits, not on comparisons.

-a

-a
--=20
Austin Ziegler =E2=80=A2 [email protected] =E2=80=A2 [email protected]=
a
http://www.halostatue.ca/ =E2=80=A2 http://twitter.com/halostatue

--000000000000ee9ac705dd7ddfea
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Mon, Apr 25, 2022 at 1:12 PM Eric Pail=
leau &lt;<a href=3D"mailto:[email protected]">eric.pailleau@wanadoo.=
fr</a>&gt; wrote:<br></div><div class=3D"gmail_quote"><blockquote class=3D"=
gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border=
-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><p d=
ir=3D"ltr" style=3D"margin-top:0px;margin-bottom:0px">Hi, </p>
<p dir=3D"ltr" style=3D"margin-top:0px;margin-bottom:0px">Sorry but the onl=
y common point between Erlang and Elixir should be BEAM. </p>
<p dir=3D"ltr" style=3D"margin-top:0px;margin-bottom:0px">That&#39;s all. <=
/p>
<br>
<p dir=3D"ltr" style=3D"margin-top:0px;margin-bottom:0px">Following you poi=
nt of view, we could write an EEP at Elixir to ask variables must be bound =
only once, like Erlang, because... (feel blanks). </p>
</blockquote></div><div><br></div>Except that the EEP was <b>not</b>=C2=A0c=
reated by an Elixir developer, but an Erlang developer who found the concep=
t useful. If I really felt that it would improve Elixir to have a &quot;bin=
d once only&quot; rule change, I would absolutely suggest it with hopefully=
 as much detail as was in this EEP that people have rejected for purely emo=
tional reasons.<div><br></div><div>There <b>are</b>=C2=A0fairly frequent di=
scussions on elixir-core about what would be good additions for Elixir. Som=
etimes they are accepted. Sometimes not. Sometimes the ideas are good, but =
felt not to be in the spirit of Elixir (a frequent request years ago would =
be auto-destructuring of maps; it has been rejected firmly, and there are r=
arely-used modules that can offer <i>similar</i>=C2=A0capabilities through =
Elixir=E2=80=99s macro capabilities). Sometimes the ideas are good, but con=
sidered to be better fits to propose to Erlang itself so that Elixir can bu=
ild atop a stronger foundation.<div><br></div><div>What I haven=E2=80=99t s=
een in elixir-core is the emotional overreaction to an idea. It=E2=80=99s p=
robably because elixir-core is small enough that the core developers and th=
e language=E2=80=99s creator are still quite active in most discussions, wh=
ich is not really true of the Erlang development core (especially since the=
 move to the forum). Let me be clear, I=E2=80=99m not saying it=E2=80=99s b=
ecause I think the Elixir community is better. I am impressed (mostly) with=
 the Erlang community=E2=80=99s cohesiveness and ability to work together. =
I am disappointed that a good, well-written EEP is being dismissed for reas=
ons that are more emotional than considered, and that there=E2=80=99s unnec=
essary sideswipes against other languages in the process.</div><div><br></d=
iv><div>I ultimately don=E2=80=99t care whether the EEP is adopted or not. =
If adopted as is, it offers some optimizations that may be usable by the co=
mpiler. If adopted with changes along Lo=C3=AFc=E2=80=99s suggestions, it o=
ffers room for future optimizations and extensibility without the use of fu=
rther sigils. If adopted as the <i>inverse</i>=C2=A0meaning (as someone sug=
gested, such that the pin marks a <i>mutable</i>=C2=A0instead of matching v=
ariable) the change will be more disruptive, but also equally good. If not =
adopted, Erlang will survive. But the discussion should be on the merits, n=
ot on comparisons.</div><div><br></div><div>-a</div><div><div><br></div><di=
v>-a</div>-- <br><div dir=3D"ltr" class=3D"gmail_signature">Austin Ziegler =
=E2=80=A2 <a href=3D"mailto:[email protected]" target=3D"_blank">halosta=
[email protected]</a> =E2=80=A2 <a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a><br><a href=3D"http://www.halostatue.ca=
/" target=3D"_blank">http://www.halostatue.ca/</a> =E2=80=A2 <a href=3D"htt=
p://twitter.com/halostatue" target=3D"_blank">http://twitter.com/halostatue=
</a></div></div></div></div>

--000000000000ee9ac705dd7ddfea--