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

Chris Smith cdsmith at
Mon Jul 9 18:20:29 CEST 2012

Right, it seems to me that there are basically three reasonable proposals here:

1. "\ of" with multiple arguments.  This is consistent with existing
layout, and seems like a nice generalization of lambda syntax.
2. "case of" with a single argument.  This is consistent with existing
layout, and seems like a nice generalization of sections.
3. "\" introducing layout, possibly with changes to layout rules.  A
much more intrusive change, but it does have a nice efficiency to it.

Either of the first two would be fine.  For that matter, they could
even *both* be done -- with #2 being a shorthand to avoid parentheses
-- without seeming too redundant to me.  I tend to see the third
option as too intrusive and dangerous, but I can see the argument for
doing it.  Given that we have these three options, I really don't see
the benefit to "\ case" or similar ideas, which complicate layout
rules for little reason, and mix syntax in such a way that it's
difficult for me at least to even predict whether parentheses are

On Mon, Jul 9, 2012 at 8:52 AM, Twan van Laarhoven <twanvl at> wrote:
> On 09/07/12 14:44, Simon Marlow wrote:
>> I now think '\' is too quiet to introduce a new layout context.  The
>> pressing
>> need is really for a combination of '\' and 'case', that is
>> single-argument so
>> that we don't have to write parentheses.  I think '\case' does the job
>> perfectly.  If you want a multi-clause multi-argument function, then give
>> it a
>> name.
> There is an advantage here for "\of" in favor of "\case", namely that "of"
> already introduces layout, while "case" does not.
> Twan
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at

More information about the Glasgow-haskell-users mailing list