New EEP draft: Pinning operator ^ in patterns

Olivier Boudeville olivier.boudeville@REDACTED
Fri Jan 15 19:35:06 CET 2021

Le 1/15/21 à 4:35 PM, Raimo Niskanen a écrit :
> 1) Would the language be a better language with a mandatory pinning operator?


Thanks Raimo for this interesting EEP. As for me, I could do without 
pinning. Would such a feature impact the AST?

On a related "hazardous matching" topic, there is an Erlang "language 
feature" that could (IMHO) be removed for the best, hopefully with no 
issue in terms of backward-compatibility: the infamous matching of muted 
variables. I am a big fan of commenting thanks to a muted variable the 
intent related to an argument, like in:

    send_safe(_DefaultTimeout=1000, _AttemptCount=5, ...),

...but of course such bindings will collide with any other, potentially 
unrelated _DefaultTimeout or _AttemptCount bindings in the same scope, 
resulting in "surprise-matches" that could be spared to the unwary 

Couldn't we stop matching these muted variables, knowing that their 
management is already special-cased in some contexts? (for example they 
do not trigger unused warnings; "_" is never bound either). No sane 
existing code should rely on this kind of match anyway, isn't it? Or is 
there a use-case I overlooked? If the semantics of muting is "don't care 
about the value", isn't it more surprising that they match rather than 
they do not?

Best regards,



Olivier Boudeville

More information about the erlang-questions mailing list