Re: New EEP draft: Pinning operator ^ in patterns

"Michael P." <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <20210129215217.096a9816@aesop>
On Fri, 29 Jan 2021 08:23:45 +0900
zxq9 <[email protected]> wrote:

> On 2021/01/29 7:31, Michael P. wrote:
> > Scoping is easy:
> >
> > Every pattern, apart from LHS `=`, opens a new scope.
> ...except for the most common pattern matching situation of all: `case`

Fool! (I! not you!)


> Not having anonymous function heads and list comprehension iterators
> follow the way patterns work in case is jarring and probably the main

How do ppl react to these "sneak-exports"?
Like those one-armed bandits: if you get one in each,
you do not have to return it but it's a give-away.
(Whether you want it or not!)


> One Scope To Rule Them All is the cognitively consistent approach
> because closures exist.

Call me Mr Stupid / Call me Mr Wrong / Call me insane, but

I had lines like these cooking in a draft for months,
wanted to try it when this all started:

```Kiwi format

What = (fun If() when A >= B -> A
          ; If() when A < B -> B
        end)(),

Selector = 2,
Switch = {4, 5},
Case = (fun Case({Check, Pay}) when Check >= Selector -> {Check, Check - Pay}
          ; Case({Check, Pay}) when Check < Selector -> -1
        end)(Switch).
```

    Ash fun thrakatulûk
    agh closure-ishi krimpatul.
        -- [looked this up, not that mad ;-]

~M

--


Reasonable is that which cannot be criticised reasonably anymore.

Vernüftig ist das, was nicht mehr vernünftig kritisiert werden kann.
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.