[Haskell-cafe] Empty case alternative

Chris Warburton chriswarbo at googlemail.com
Fri Jun 27 16:00:33 UTC 2014


Frantisek Farka <frantisek at farka.eu> writes:

> Hello cafe,
>
> I was looking into Haskell Report 2010 and notice something in the
> definition of case statement:
>
> https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-460003.13
>
> Apparently an empty alternative within case statement is a plausible
> production. ('alt' production rule, third option).
>
> If I get it correctly, following example shows the empty alternative:
>
>>
>> cStmt e = case e of { 'a' -> True ; {-- empty here --} ; 'b' -> False }
>>
>
> What I miss is any ratio behind this. What is the empty alternative
> good for? Any idea?

Looks like it's to allow "case e of {}". Notice that "lexp" requires an
"alts" and "alts" requires at least 1 "alt", so for empty braces to be
acceptable there must be an empty alt for them to 'contain'.

Cheers,
Chris


More information about the Haskell-Cafe mailing list