I came really late to this discussion, so I assume someone has already
proposed using (Control.Applicative.<|>) to select the first matching
pattern of an unnamed cased object.
Can someone point me to where that was proposed and why it was rejected?
Dan Weston
Isaac Dupree wrote:
Duncan Coutts wrote:
On Wed, 2007-08-15 at 18:23 +0100, Brian Hulley wrote:
Therefore I propose:
\of
alts
which doesn't suffer this problem since the keyword "of" can never
follow a '\' in the existing grammar.
Or how about:
\case of
alts
which seems clearer to me.
Similarly, the keyword "case" can never follow a '\' in the existing
grammar.
Mind you, this doesn't seem to save much over
\x -> case x of
alts
It saves the writer using an explicit name which must be unique and the
reader determining that the name is not used deeper in the expressions.
(and a "->"). I tend to find myself wanting this after already having
written a 'case' and decided I don't need/want a name for the thing
being 'cased'. I wouldn't mind "case of", "\of" or "\case of", for
using it.
Allowing multiple arguments - is syntactically difficult to reconcile
with 'case' because it restricts what single-argument forms can be used?
Such as:
> case foo of Just n -> n
is allowed but
> f Just n = n
isn't.
Isaac
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe