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

Michael Malter <[email protected]> Mon, 25 Apr 2022 19:14:11 +0200
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CADE9FeHopuzOCQpdOwYECZDOOXR51rPrthq5LM4Ub3T5Y+GFFw@mail.gmail.com>
--00000000000030a94705dd7db577
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

It's fine. Let's try to keep a cool head.

I think your posts added to the general comprehension of the problem Austin=
.

I have also been guilty of being a little less diplomatic than usual here.
In the end, it's not a democracy but I have a feeling that most people are
against that eep. I have asked three of my friends. That's what I call
serious statistical sampling :)

Le lun. 25 avr. 2022 =C3=A0 19:07, Austin Ziegler <[email protected]> a
=C3=A9crit :

> No, Stansilav, I=E2=80=99m an engineer. I=E2=80=99ve shipped software in =
~35 different
> languages, which means that I aim to get ship done.
>
> If the only thing you can take away from my messages here is that I=E2=80=
=99m a
> "fanboy", then it is not my judgement in question.
>
> I will reiterate that this EEP was filed by someone who primarily writes
> in Erlang and wishes to see it in Erlang because they believe it would be
> beneficial in one of several different ways.
>
> The main objections that I have seen over the last two years on this have
> boiled down to:
>
> - It makes Erlang look like Elixir
> - It doesn=E2=80=99t add enough value
> - It=E2=80=99s a new sigil, and new sigils are by definition bad
>
> The first position, which is essentially what I have seen from you and
> several others, can be disregarded as emotional hyperbole. The second and
> third positions are worth discussing, but the level of emotion in the
> thread have resulted in little productive discussion on them.
>
> The first and third positions have ultimately precluded substantial
> discussion on the second and have discouraged possible explorations to se=
e
> if the second position is, in fact, true. As I understand it, the Erlang
> compiler has changed pretty substantially in OTP23, OTP24, and OTP25
> (particularly with the introduction of the JIT in OTP24), which means tha=
t
> the introduction of a new sigil *might* permit the compiler to emit
> better (I=E2=80=99m being purposely vague here) code.
>
> The OTP implementation team thinks that it=E2=80=99s interesting and whil=
e they
> may not pick it up, they might. If they do, I hope that they look at Lo=
=C3=AFc=E2=80=99s
> suggestion, because I *am* of the opinion that adding a sigil should be a
> rare event, but adding a sigil that allows for greater future extensibili=
ty
> just *might* be worth it, even at the cost of a little bit of verbosity.
>
> In the end, you=E2=80=99re probably not going to listen and dismiss what =
I=E2=80=99ve said
> as fanboyism, but that doesn=E2=80=99t actually affect me.
>
> -a
>
> On Mon, Apr 25, 2022 at 12:43 PM Stanislav Ledenev <[email protected]>
> wrote:
>
>> There were multiple arguments from a bunch of people.
>> The principle of the main one is "Render unto Caesar the things that are
>> Caesar's, and unto God the things that are God's".
>>  If you like Elixir no one objects on this. Just leave Erlang alone.
>>
>> But you just could not or don't want to listen.
>> Perhaps because you are a fanboy not an engineer if you can't see such
>> simple arguments.
>> And It's pointless to argue to argue with fanboys.
>>
>> =D0=BF=D0=BD, 25 =D0=B0=D0=BF=D1=80. 2022 =D0=B3. =D0=B2 18:14, Austin Z=
iegler <[email protected]>:
>>
>>> On Mon, Apr 25, 2022 at 10:58 AM Stanislav Ledenev <[email protected]=
>
>>> wrote:
>>>
>>>> One question - why? Just because we can?
>>>> Erlang is doomed, Sorry Joe, we f**d things up.
>>>>
>>>
>>> I really can=E2=80=99t help but laugh at over the top reactions like th=
is and
>>> those who can=E2=80=99t help but bash Elixir because they don=E2=80=99t=
 like the syntax.
>>>
>>> What if this syntax (or some other syntax) helps the compiler generate
>>> better (safer, faster, *whatever*) code? How would anyone know unless
>>> it gets tried? Why would anyone want to try it when they know that a
>>> certain vocal subset of the community are going to be pitching embarras=
sing
>>> fits over it?
>>>
>>> If this is introduced in OTP 26, then stop upgrading. Seriously. Stay o=
n
>>> OTP 25 or before. But seriously, stop acting like children about this a=
nd
>>> saying that things are fucked up (because they=E2=80=99re not; you just=
 don=E2=80=99t like
>>> this because you don=E2=80=99t like it). The only *real* objection that=
 I=E2=80=99ve
>>> seen that makes sense to me is from Lo=C3=AFc, which is that it might b=
e better
>>> to enable *annotations*, even if the only annotation initially
>>> available is for pinning. (My personal feeling on the annotation concep=
t is
>>> that `^pin Variable` doesn=E2=80=99t feel right to me, but maybe `^pin:=
Variable` or
>>> `^pin{Variable}` or `^{pin}Variable` or something else, although more
>>> sigil-y, would be clearer.
>>>
>>> I mostly use Elixir, but often read Erlang codebases. On the Elixir cor=
e
>>> mailing list, there are frequent redirects to approach something as a
>>> possible PR to Erlang/OTP because it=E2=80=99s something that should be=
nefit all
>>> BEAM languages.
>>>
>>> Telemetry started as an Elixir library, but was quickly changed to a
>>> pure Erlang approach because it makes more sense to be something that a=
ll
>>> BEAM languages can use.
>>>
>>> Elixir has =E2=80=94 and I suspect both LFE and Gleam both have =E2=80=
=94 *enhanced *the
>>> BEAM through wider exposure, code contributions, and other contribution=
s.
>>> If you can=E2=80=99t argue a feature request like in this EEP on its me=
rits (or
>>> lack thereof) without trying to bash Elixir, then maybe you don=E2=80=
=99t actually
>>> have an argument, but an emotional outburst, and should just *discard* =
your
>>> rant after writing it.
>>>
>>> -a
>>> --
>>> Austin Ziegler =E2=80=A2 [email protected] =E2=80=A2 austin@halostat=
ue.ca
>>> http://www.halostatue.ca/ =E2=80=A2 http://twitter.com/halostatue
>>>
>>
>
> --
> Austin Ziegler =E2=80=A2 [email protected] =E2=80=A2 austin@halostatue=
.ca
> http://www.halostatue.ca/ =E2=80=A2 http://twitter.com/halostatue
>

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

<div dir=3D"auto">It&#39;s fine. Let&#39;s try to keep a cool head.<div dir=
=3D"auto"><br></div><div dir=3D"auto">I think your posts added to the gener=
al comprehension of the problem Austin.</div><div dir=3D"auto"><br></div><d=
iv dir=3D"auto">I have also been guilty of being a little less diplomatic t=
han usual here. In the end, it&#39;s not a democracy but I have a feeling t=
hat most people are against that eep. I have asked three of my friends. Tha=
t&#39;s what I call serious statistical sampling :)=C2=A0</div></div><br><d=
iv class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">Le lun. 25 a=
vr. 2022 =C3=A0 19:07, Austin Ziegler &lt;<a href=3D"mailto:halostatue@gmai=
l.com">[email protected]</a>&gt; a =C3=A9crit=C2=A0:<br></div><blockquot=
e class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc sol=
id;padding-left:1ex"><div dir=3D"ltr">No, Stansilav, I=E2=80=99m an enginee=
r. I=E2=80=99ve shipped software in ~35 different languages, which means th=
at I aim to get ship done.<div><br></div><div>If the only thing you can tak=
e away from my messages here is that I=E2=80=99m a &quot;fanboy&quot;, then=
 it is not my judgement in question.</div><div><br></div><div>I will reiter=
ate that this EEP was filed by someone who primarily writes in Erlang and w=
ishes to see it in Erlang because they believe it would be beneficial in on=
e of several different ways.</div><div><br></div><div>The main objections t=
hat I have seen over the last two years on this have boiled down to:</div><=
div><br></div><div>- It makes Erlang look like Elixir</div><div>- It doesn=
=E2=80=99t add enough value</div><div>- It=E2=80=99s a new sigil, and new s=
igils are by definition bad</div><div><br></div><div>The first position, wh=
ich is essentially what I have seen from you and several others, can be dis=
regarded as emotional hyperbole. The second and third positions are worth d=
iscussing, but the level of emotion in the thread have resulted in little p=
roductive discussion on them.</div><div><br></div><div>The first and third =
positions have ultimately precluded substantial discussion on the second an=
d have discouraged possible explorations to see if the second position is, =
in fact, true. As I understand it, the Erlang compiler has changed pretty s=
ubstantially in OTP23, OTP24, and OTP25 (particularly with the introduction=
 of the JIT in OTP24), which means that the introduction of a new sigil <i>=
might</i>=C2=A0permit the compiler to emit better (I=E2=80=99m being purpos=
ely vague here) code.</div><div><br></div><div>The OTP implementation team =
thinks that it=E2=80=99s interesting and while they may not pick it up, the=
y might. If they do, I hope that they look at Lo=C3=AFc=E2=80=99s suggestio=
n, because I<span>=C2=A0</span><i>am</i>=C2=A0of the opinion that adding a =
sigil should be a rare event, but adding a sigil that allows for greater fu=
ture extensibility just <i>might</i>=C2=A0be worth it, even at the cost of =
a little bit of verbosity.<br></div><div><br></div><div>In the end, you=E2=
=80=99re probably not going to listen and dismiss what I=E2=80=99ve said as=
 fanboyism, but that doesn=E2=80=99t actually affect me.</div><div><br></di=
v><div>-a</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Mon, Apr 25, 2022 at 12:43 PM Stanislav Ledenev &lt;<a h=
ref=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferrer">s.l=
[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" =
style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:s=
olid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">=
There were multiple arguments from a bunch of people. <br>The principle of =
the main one is &quot;Render unto Caesar the things that are Caesar&#39;s, =
and unto God the things that are God&#39;s&quot;.<div>=C2=A0If you like Eli=
xir no one objects on this. Just leave Erlang alone.<br><br>But you just co=
uld not or don&#39;t want to listen.=C2=A0</div><div>Perhaps because you ar=
e a fanboy not an engineer if you can&#39;t see such simple arguments.=C2=
=A0</div><div>And It&#39;s pointless to argue=C2=A0to argue with fanboys.<b=
r></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmai=
l_attr">=D0=BF=D0=BD, 25 =D0=B0=D0=BF=D1=80. 2022 =D0=B3. =D0=B2 18:14, Aus=
tin Ziegler &lt;<a href=3D"mailto:[email protected]" target=3D"_blank" r=
el=3D"noreferrer">[email protected]</a>&gt;:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;bo=
rder-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">=
<div dir=3D"ltr"><div dir=3D"ltr">On Mon, Apr 25, 2022 at 10:58 AM Stanisla=
v Ledenev &lt;<a href=3D"mailto:[email protected]" target=3D"_blank" rel=
=3D"noreferrer">[email protected]</a>&gt; wrote:<br></div><div class=3D"g=
mail_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(20=
4,204,204);padding-left:1ex"><div dir=3D"ltr"><div>One question - why? Just=
 because we can?</div><div>Erlang is doomed, Sorry Joe, we f**d things up.<=
/div></div></blockquote><div>=C2=A0</div></div>I really can=E2=80=99t help =
but laugh at over the top reactions like this and those who can=E2=80=99t h=
elp but bash Elixir because=C2=A0they don=E2=80=99t like the syntax.<div><b=
r></div><div>What if this syntax (or some other syntax) helps the compiler =
generate better (safer, faster, <i>whatever</i>) code? How would anyone kno=
w unless it gets tried? Why would anyone want to try it when they know that=
 a certain vocal subset of the community are going to be pitching embarrass=
ing fits over it?</div><div><br></div><div>If this is introduced in OTP 26,=
 then stop upgrading. Seriously. Stay on OTP 25 or before. But seriously, s=
top acting like children about this and saying that things are fucked up (b=
ecause they=E2=80=99re not; you just don=E2=80=99t like this because you do=
n=E2=80=99t like it). The only <i>real</i>=C2=A0objection that I=E2=80=99ve=
 seen that makes sense to me is from Lo=C3=AFc, which is that it might be b=
etter to enable <i>annotations</i>, even if the only annotation initially a=
vailable is for pinning. (My personal feeling on the annotation concept is =
that `^pin Variable` doesn=E2=80=99t feel right to me, but maybe `^pin:Vari=
able` or `^pin{Variable}` or `^{pin}Variable` or something else, although m=
ore sigil-y, would be clearer.</div><div><br></div><div>I mostly use Elixir=
, but often read Erlang codebases. On the Elixir core mailing list, there a=
re frequent redirects to approach something as a possible PR to Erlang/OTP =
because it=E2=80=99s something that should benefit all BEAM languages.</div=
><div><br></div><div>Telemetry started as an Elixir library, but was quickl=
y changed to a pure Erlang approach because it makes more sense to be somet=
hing that all BEAM languages can use.</div><div><br></div><div>Elixir has =
=E2=80=94 and I suspect both LFE and Gleam both have =E2=80=94 <i>enhanced =
</i>the BEAM through wider exposure, code contributions, and other contribu=
tions. If you can=E2=80=99t argue a feature request like in this EEP on its=
 merits (or lack thereof) without trying to bash Elixir, then maybe you don=
=E2=80=99t actually have an argument, but an emotional outburst, and should=
 just <i>discard</i>=C2=A0your rant after writing it.<br><div><div><div><br=
></div><div>-a<br>-- <br><div dir=3D"ltr">Austin Ziegler =E2=80=A2 <a href=
=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferrer">halos=
[email protected]</a> =E2=80=A2 <a href=3D"mailto:[email protected]" targe=
t=3D"_blank" rel=3D"noreferrer">[email protected]</a><br><a href=3D"http=
://www.halostatue.ca/" target=3D"_blank" rel=3D"noreferrer">http://www.halo=
statue.ca/</a> =E2=80=A2 <a href=3D"http://twitter.com/halostatue" target=
=3D"_blank" rel=3D"noreferrer">http://twitter.com/halostatue</a></div></div=
></div></div></div></div>
</blockquote></div>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
>Austin Ziegler =E2=80=A2 <a href=3D"mailto:[email protected]" target=3D=
"_blank" rel=3D"noreferrer">[email protected]</a> =E2=80=A2 <a href=3D"m=
ailto:[email protected]" target=3D"_blank" rel=3D"noreferrer">austin@hal=
ostatue.ca</a><br><a href=3D"http://www.halostatue.ca/" target=3D"_blank" r=
el=3D"noreferrer">http://www.halostatue.ca/</a> =E2=80=A2 <a href=3D"http:/=
/twitter.com/halostatue" target=3D"_blank" rel=3D"noreferrer">http://twitte=
r.com/halostatue</a></div>
</blockquote></div>

--00000000000030a94705dd7db577--