Re: [Erlang Forums] [Erlang/OTP Proposals/Proposals: RFC] Re-visiting EEP-0055
Austin Ziegler <[email protected]> Mon, 25 Apr 2022 11:14:22 -0400
| Newsgroups | gmane.comp.lang.erlang.general |
|---|---|
| Message-ID | <CAJ4ekQv0Go=wgLLWbGSLDpuWvY=d9hDR3keH7ASAiuMKAboLuw@mail.gmail.com> |
--000000000000e3316405dd7c0831 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 this a= nd 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 embarrassing fits over it? If this is introduced in OTP 26, then stop upgrading. Seriously. Stay on OTP 25 or before. But seriously, stop acting like children about this and 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 be better = to enable *annotations*, even if the only annotation initially available 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: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 core mailing list, there are frequent redirects to approach something as a possible PR to Erlang/OTP because it=E2=80=99s something that should benefi= t 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 all 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 contributions. 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 a= ctually have an argument, but an emotional outburst, and should just *discard* your rant after writing it. -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 --000000000000e3316405dd7c0831 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 10:58 AM Stanisla= v Ledenev <<a href=3D"mailto:[email protected]">[email protected]</a= >> 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"><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 l= ike this and those who can=E2=80=99t help but bash Elixir because=C2=A0they= don=E2=80=99t like the syntax.<div><br></div><div>What if this syntax (or = some other syntax) helps the compiler generate better (safer, faster, <i>wh= atever</i>) code? How would anyone know unless it gets tried? Why would any= one want to try it when they know that a certain vocal subset of the commun= ity are going to be pitching embarrassing 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, 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 <i>rea= l</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 better to enable <i>annotations</i>, e= ven if the only annotation initially available 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:Variable` or `^pin{Variable}` or `^{pin}V= ariable` or something else, although more 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 are frequent redirects to approach som= ething as a possible PR to Erlang/OTP because it=E2=80=99s something that s= hould benefit all BEAM languages.</div><div><br></div><div>Telemetry starte= d as an Elixir library, but was quickly changed to a pure Erlang approach b= ecause it makes more sense to be something that all BEAM languages can use.= </div><div><br></div><div>Elixir has =E2=80=94 and I suspect both LFE and G= leam both have =E2=80=94 <i>enhanced </i>the BEAM through wider exposure, c= ode contributions, and other contributions. If you can=E2=80=99t argue a fe= ature request like in this EEP on its merits (or lack thereof) without tryi= ng 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 af= ter writing it.<br><div><div><div><br></div><div>-a<br>-- <br><div dir=3D"l= tr" class=3D"gmail_signature">Austin Ziegler =E2=80=A2 <a href=3D"mailto:ha= [email protected]" target=3D"_blank">[email protected]</a> =E2=80=A2 <a= href=3D"mailto:[email protected]" target=3D"_blank">[email protected]= a</a><br><a href=3D"http://www.halostatue.ca/" target=3D"_blank">http://www= .halostatue.ca/</a> =E2=80=A2 <a href=3D"http://twitter.com/halostatue" tar= get=3D"_blank">http://twitter.com/halostatue</a></div></div></div></div></d= iv></div> --000000000000e3316405dd7c0831--