<div dir="ltr"><div>> 
it has literally zero cost, because it is OPTIONAL.</div><div><br></div><div>Optional features have a cost too because different teams, different organizations, different projects, end-up opting in to different subsets of the language and now there are additional context switches whenever you are swapping codebases. Be it inside large organizations, throughout the community, etc.</div><div><br></div><div>Inside a team/organization, we expect to have some standardization but sometimes it doesn't happen or it happens too late, and that compounds. So while it can be mitigated, there is definitely a cost.</div><div><br></div><div>And there is also the learning cost, the cost of the docs, and even the cost of using an operator. What if in 5 years someone comes up with a great use case for the ^ operator? Well, unfortunately it would be taken by an optional feature...<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 15, 2021 at 1:42 PM Eugene <<a href="mailto:e@bestmx.net">e@bestmx.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> This is a cute feature, but it carries <br>
> a large cognitive cost and is not worth having compared to how <br>
> relatively little it is used.<br>
<br>
it has literally zero cost, because it is OPTIONAL.<br>
you want "old" behaviour you simply omit new feature.<br>
<br>
in return, if you read a program and see this new notation<br>
you immediately (without reading context) know that at this<br>
certain mention this particular variable is UNbound or bound.<br>
(i propose unbound, whereas original proposal was opposite)<br>
<br>
the error reporting becomes more meaningful by<br>
separating a massive subclass of "bad-matches"<br>
as its own class: "already bound"<br>
(in this regard the original proposal is<br>
slightly more complex than my counter-proposal)<br>
_______________________________________________<br>
eeps mailing list<br>
<a href="mailto:eeps@erlang.org" target="_blank">eeps@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/eeps" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/eeps</a><br>
</blockquote></div>