<div dir="ltr"><div>Hi Michael,</div><div><br></div><div>Apologies if I'm just missing something obvious or I'm missing some key context, but to me your message/question contains a lot of unfamiliar terminology and hyperbole which makes it hard to understand what you're getting at.</div><div><br></div><div>What is "sneak-binding"? Sneaky "slot machine" nature?</div><div><br></div><div>It would be really helpful if you could give a more concrete example of what you dislike about case (the less ellipsis the better!), and a similar piece of code rewritten following your suggestion (I _think_ you're making a suggestion without message, but I'm not actually entirely sure..)</div><div><br></div><div>Thanks,</div><div>Karl<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 18 Aug 2021 at 13:04, Michael P. <<a href="mailto:empro2@web.de">empro2@web.de</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">What use is the sneaky "slot-machine" nature of<br>
how `case` treats pattern unboundies<br>
<br>
Does it simplify the implementation of `case`?<br>
<br>
OC, `case` has to _try_ to match the patterns and cannot<br>
simply dump every new binding. Unbinding on badmatch or<br>
repeating the matching or transferring new bindings<br>
after success in some subscope might complicate<br>
the implementation. And sounds a bit like backtracking,<br>
and Erlang was designed with a 'no backtracking' premise ...<br>
yet there cannot be any side-effects as the only expression<br>
allowed in patterns is 'variables', the `case` switch<br>
is evaluated only once anyway ... and now I have shipped<br>
off the brink of my tiny world.<br>
<br>
Giving `case` the '(let)' after 35 years hits "the legacy wall".<br>
<br>
What would one lose when the "slot-machine" scared<br>
one into some<br>
<br>
    Switch = ...,<br>
    Result = (fun Case(...) when ... -> ...;<br>
                  Case(...) when ... -> ...<br>
              end)(Switch),<br>
?<br>
<br>
~M<br>
<br>
--<br>
<br>
Normality is merely a question of quantity,<br>
not of quality.<br>
<br>
Normalität ist nur eine Frage von Quantität,<br>
nicht von Qualität.<br>
<br>
<br>
<br>
</blockquote></div>