<div dir="ltr"><div>Alternatively, don't call it rebind since it implies that the variable has to exist before.<br>How about "fresh" **modifier**? (calling it operator seems strange too)</div><div>The way I think about it is that Elixir and Erlang having 2 polar opposites to the "default" behaviour of variables.<br>If we have to introduce a special **modifier** on variables, it should be used to invert this default behaviour.<br><br>If Elixir has to pin then Erlang has to "unpin"/"refresh"/"fresh"/"forget".</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 20, 2021 at 11:10 AM Bach Le <<a href="mailto:thebullno1@gmail.com">thebullno1@gmail.com</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"><div dir="ltr">I rarely post but this change seems strange.<br><br><div>The rule for Erlang has always been single assignment so I don't think pinning is necessary.<br>What if we reverse the operator and call it the "rebind" operator?<br>Similar to how Elixir has to explicitly pin, Erlang has to explicitly rebind.<br>Borrow the "spirit" and not the exact thing.<br>Let's call it "&" to avoid confusion.<br><br>Say in a case expression and you want to introduce a new variable, ignoring whatever that has appeared before, use:<br><br>case thing() of<br>    {ok, &T} -> T<br>end<br><br>No new error or warning introduced</div></div>
</blockquote></div></div>