Good point, Rémi. However, note that
case pat1, pat2 -> s
is equally too close to
case pat1 -> pat2 -> s
and again they have very different meanings.
We have to admit that there is room to blunder with this syntax.
One way out would be to use a different arrow for `switch` statements:
switch (x) {
case pat1 => case pat2 => s1;
case pat3 => pat4 -> s2;
case pat5, pat6 => s2;
case pat 7, pat8 => pat9 -> s4;
}
> On Apr 23, 2018, at 2:29 PM, Remi Forax <[email protected]> wrote:
>
> I agree with Kevin,
> case pat1 -> case pat2 -> s
> is too close to
> case pat1 -> pat2 -> s
> which has a very different meaning (the result is a lambda).
>
> Rémi