Re: New EEP draft: Pinning operator ^ in patterns

Bach Le <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CAG=BNYoMvnYzYmwFMH_iBH2UbR9kWt+xq+=Y_bq7edcXVSdgfA@mail.gmail.com>
Alternatively, don't call it rebind since it implies that the variable has
to exist before.
How about "fresh" **modifier**? (calling it operator seems strange too)
The way I think about it is that Elixir and Erlang having 2 polar
opposites to the "default" behaviour of variables.
If we have to introduce a special **modifier** on variables, it should be
used to invert this default behaviour.

If Elixir has to pin then Erlang has to "unpin"/"refresh"/"fresh"/"forget".

On Wed, Jan 20, 2021 at 11:10 AM Bach Le <[email protected]> wrote:

> I rarely post but this change seems strange.
>
> The rule for Erlang has always been single assignment so I don't think
> pinning is necessary.
> What if we reverse the operator and call it the "rebind" operator?
> Similar to how Elixir has to explicitly pin, Erlang has to explicitly
> rebind.
> Borrow the "spirit" and not the exact thing.
> Let's call it "&" to avoid confusion.
>
> Say in a case expression and you want to introduce a new variable,
> ignoring whatever that has appeared before, use:
>
> case thing() of
>     {ok, &T} -> T
> end
>
> No new error or warning introduced
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.