RE: New EEP draft: Pinning operator ^ in patterns
| Newsgroups | gmane.comp.lang.erlang.general,gmane.comp.lang.erlang.eeps |
|---|---|
| Message-ID | <[email protected]> |
> I see that's a tweet from Joe, but Erlang does not have unification. > All Erlang terms are ground, making unification pointless. The only thing Erlang > does that even remotely resembles unification is the rule (mistake IMO) that > a variable in a pattern performs a structural equality check if that variable > already is bound, otherwise binds it if it isn't already bound. That's a compile-time decision. > The pinning operator proposal is an attempt to reduce the ambiguity of variables in patterns. One of many things I love in Erlang is its simplicity. Another one is its practicality or pragmatism. I love that the focus of Erlang is on subjects like: "how to implement a server which reliably reacts to requests and handles timeouts". And not on subjects like: "how to reduce ambiguity of variables in patterns". Many posters here already argued that in real life the problem is of small importance and is rather a symptom of otherwise bad - too long, too complicated, or both - code. A language change implemented in a recent release was addition of stack trace in exceptions. I see this change as very pragmatic and very opposite in spirit to pinning operator proposal. It is optional and has no impact on existing code. It solves a real problem and since its introduction I used it several times not because I had to, but because it is very useful. I am just an Erlang user and I was never involved in anything related to the development of Erlang, but I hope that people who make decisions about its future will keep its simplicity intact. Regards, Wojtek