Collateral Damage

zxq9 zxq9@REDACTED
Mon Apr 25 17:58:12 CEST 2022


On 2022/04/26 0:32, Austin Ziegler wrote:
> I disagree that there’s no bashing. Look through the most recent thread 
> and the previous thread about this EEP and you’ll see people expressing 
> some pretty rank opinions. Additionally, saying "we don’t want Erlang to 
> become Elixir" is essentially a content-free statement. Someone took the 
> time to write up an EEP /complete with examples/, and it gets rejected 
> by the community not on its merits (or lack thereof), but simply because 
> "ew, looks too much like Elixir, we’re screwing up the language if we do 
> this". Paraphrased, but not excessively so.

The capacity for some to completely miss the point of KISS as a
principle is the most fascinating thing about this thread.

"If you don't accept our pet inclusion that adds complexity, is
optional, and merely implies a change to semantics because *we* as
users of a totally different language believe it makes the semantics
more clear to *our* eyes then you're just a changephobic bigot. Stop
attacking my language, Nazi."

The implication that Erlangers not wanting users of [other language]
to push complications borne of design decisions specific to
[other language] into Erlang is somehow *attacking* [other language]
is ridiculous on its face. There is already a subconscious attempt here
to start claiming victim status based on this imagined "attack".

That's the pattern that is evolving in the weirder part of this
conversation, and it is really, really dumb and will be embarrassing
to look back on in the future once this sort of anti-sensical
rhetoric goes out of style.

srsly folks? srsly? We're talking about keeping the number of glyphs
in the language at a minimum, saying "don't add new ones unless they
buy us some super duper AMAZING productivity win, and this doesn't."

I'm sorry, but this is just hilarious.

I expressed my reasons for why I believe this is a bad recommendation
on multiple occasions, but here it is again...

The "problem" originally stems from discomfort with shadowing.
This was even the specific point of the first "let's add a pinning
operator!" effort, and the current one is an evolution on that idea
because holy jebeebus we just absolutely CANNOT have Erlang running
around in the wild without ^ as a used character!

Discomfort with shadowing goes back a long way and was a big enough
deal that the compiler got a warning added to it. IIRC only reason it
was a warning and not an actual change all the way to "we have
matching in lambda heads" is because of the argument that all scope
is defined by function entry, but we have this ambiguity when we
define a lambda because it already has an outer scope and we need
access to it so we can write closures but then what about the arg
labels and... bzzzt. Vapor lock. Cannot brain anymore.
And we settled on shadowing as the compromise which was later annoying
enough that we added a compiler warning about it.

Having that compiler warning is a pretty clear sign that the "we
have matching in lambda heads" side won out in practice, but
nothing has been done about it, and now we get to enjoy this totally
bizarre argument about pinning instead of correcting the original
bit of ambiguity: Just make the semantic of single assignment uniform.

Don't get fancy with it.
Single assignment means single assignment.
Leave it alone. Don't jazz it up with weird stuff that might mean
something in your favorite language but not this one.

As for the extreme hyperbole floating around...
Wow, fellas.
Can't say I'm too surprised, I mean, I remember Usenet, but maybe
we should slow down -- no way the poor, old, obsolete,
destined-for-the-glue-factory listserver is going to keep up with all 
this mayhem!

Enjoy the crash, fellas!

-Craig


More information about the erlang-questions mailing list