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's fine. Let'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'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'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 <<a href=3D"mailto:halostatue@gmai= l.com">[email protected]</a>> 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 "fanboy", 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 <<a h= ref=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferrer">s.l= [email protected]</a>> 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 "Render unto Caesar the things that are Caesar's, = and unto God the things that are God's".<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't want to listen.=C2=A0</div><div>Perhaps because you ar= e a fanboy not an engineer if you can't see such simple arguments.=C2= =A0</div><div>And It'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 <<a href=3D"mailto:[email protected]" target=3D"_blank" r= el=3D"noreferrer">[email protected]</a>>:<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 <<a href=3D"mailto:[email protected]" target=3D"_blank" rel= =3D"noreferrer">[email protected]</a>> 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--