[Haskell-cafe] Multi-pattern LambdaCase?
Tom Ellis
tom-lists-haskell-cafe-2013 at jaguarpaw.co.uk
Tue Jan 27 14:00:42 UTC 2015
On Tue, Jan 27, 2015 at 03:05:05PM +0200, Roman Cheplyaka wrote:
> On 27/01/15 14:38, Tom Ellis wrote:
> > Is there a particular reason that LambdaCase does not support muliple
> > patterns? Specifically I am suggesting that
> >
> > \case { pA1 pA2 pA3 -> eA, ... }
> >
> > be sugar for
> >
> > \freshName1 freshName2 freshName3
> > -> case freshName1 freshName2 freshName3 of { pA1 pA2 pA3 -> eA, ... }
> >
> > Is there some technical reason that prevents it?
>
> That'd introduce a syntactic ambiguity; pA1 pA2 pA3 is a valid pattern
> by itself (as in "Just True").
Ah good point indeed.
I was imagining that my proposal would bring \case in line with function
pattern binds, but the latter need parens around `Just True`. I still think
this would be a decent idea for a different language, but not, it seems, for
Haskell.
Thanks for pointing it out.
Tom
More information about the Haskell-Cafe
mailing list