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

Mikhail Vorozhtsov mikhail.vorozhtsov at gmail.com
Tue Jul 10 08:33:40 CEST 2012


On 07/10/2012 01:09 AM, Bardur Arantsson wrote:
> On 07/09/2012 06:01 PM, Mikhail Vorozhtsov wrote:
>> On 07/09/2012 09:52 PM, Twan van Laarhoven 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.
>> Do you think that adding "\" + "case" as a layout herald would
>> complicate the language spec and/or confuse users? Because it certainly
>> does not complicate the implementation (there is a patch for \case
>> already).
>
> Just being anal here, but: The existence of a patch to implement X does
> not mean that X doesn't complicate the implemenatation.
In general, yes. But that particular patch[1] uses ~20 lines of pretty 
straightforward (if I'm allowed to say that about the code I wrote 
myself) code to handle layout. Which in my book is not complex at all.

[1] 
http://hackage.haskell.org/trac/ghc/attachment/ticket/4359/one-arg-lambda-case.patch



More information about the Glasgow-haskell-users mailing list