# Call to arms: lambda-case is stuck and needs your help

Edward Kmett ekmett at gmail.com
Fri Jul 6 09:12:15 CEST 2012

```Oh, neat. I guess it does. :) I'll hack that into my grammar when I get into work tomorrow.

My main point with that observation is it cleanly allows for multiple argument \of without breaking the intuition you get from how of already works/looks or requiring you to refactor subsequent lines, to cram parens or other odd bits of syntax in, but still lets the multi-argument crowd have a way to make multi-argument lambdas with all of the expected appropriate backtracking, if they want them. I definitely prefer \of to \case given its almost shocking brevity and the fact that the fact that it introduces a layout rule doesn't change any of the rules for when layout is introduced.

On Jul 5, 2012, at 5:33 PM, Twan van Laarhoven <twanvl at gmail.com> wrote:

> On 2012-07-05 23:04, Edward Kmett wrote:
>> A similar generalization can be applied to the expression between case and of
>> to permit a , separated list of expressions so this becomes applicable to the
>> usual case construct. A naked unparenthesized , is illegal there currently as
>> well. That would effectively be constructing then matching on an unboxed
>> tuple without the (#, #) noise, but that can be viewed as a separate
>> proposal' then the above is just the elision of the case component of:
>
> Should that also generalize to nullarry 'case of'? As in
>
>    foo = case of
>           | guard1 -> bar
>           | guard2 -> baz
>
>
>    foo = case () of
>        () | guard1 -> bar
>           | guard2 -> baz
>
>
>
> I realize this is getting off-topic, and has become orthogonal to the single argument λcase proposal.
>
>
> Twan
>
> _______________________________________________