New EEP draft: Pinning operator ^ in patterns

Loïc Hoguin essen@REDACTED
Fri Jan 15 18:07:28 CET 2021

I have no idea about Elixir and have not been comparing it to Elixir 
personally. Only the merits of the feature in the context it is applied 
to matter.

I've noted the overall usefulness of such a mechanism in at least some 
cases, I just question the method of solving the issues brought up. It 
"feels" wrong for many, the question is why.

I don't object to at least have this experimental as I've indicated 
before. Perhaps using this feature would confirm or remove concerns.


On 15/01/2021 17:20, Karl Nilsson wrote:
> Pinning would make use of already bound values a lot more explicit - how 
> would this not make the language better? This isn't just a 
> thoughtless copy of an Elixir feature. This is something that addresses 
> a real shortcoming/complication/source of bugs in the erlang language 
> and it just happens to borrow the syntax from a feature in Elixir. I too 
> prefer languages to be conservative and not just absorb features from 
> any other languages that happen to be popular but this isn't that. If 
> the compiler can tell me I may not have done something I intended then I 
> want it to if at all possible.
> On Fri, 15 Jan 2021 at 16:01, Loïc Hoguin <essen@REDACTED 
> <mailto:essen@REDACTED>> wrote:
>     On 15/01/2021 16:35, Raimo Niskanen wrote:
>      > On Fri, Jan 15, 2021 at 04:22:55PM +0100, Nicolas Martyanoff wrote:
>      > :
>      >>
>      >> I believe this discussion is moot. We can spend hours arguing
>     about CS theory,
>      >> but at the end of the day, the problem is about changing a
>     fundamental aspect
>      >> of a language. And clearly quite a lot of developers, me
>     included, are worried
>      >> about this kind of change.
>      >
>      > And I want to get clarity about exactly why so many developers
>     are worried
>      > about this particular proposed change, and therefore try to look
>     thoroughly
>      > at the arguments.
>      >
>      > It is as you say a fundamental detail in the language.
>      >
>      > 1) Would the language be a better language with a mandatory
>     pinning operator?
>     Language features that require the compiler to remind you to use them
>     are probably not worth having. This is at least how it feels for me.
>     That said, I think most of the opposition is about the pinning
>     operator.
>     There's a use case for having a tool of some kind that tells you when a
>     variable is matched vs bound. Perhaps this belongs more to the realm of
>     editors and syntax highlighting than it does the realm of languages and
>     operators. There's no reason this can't be achieved on the editor's
>     side
>     of things, at least in the land of IDEs.
>      > 2) If so is there a migration path worth the trouble? >
>      > So far I think the discussion has been centered around 2),
>      > before talking about 1).
>     I think most people just opposed 1) without considering 2) (because why
>     would they?).
>     -- 
>     Loïc Hoguin
> -- 
> *Karl Nilsson*

Loïc Hoguin

More information about the erlang-questions mailing list