do-and-if-then-else modification
Malcolm Wallace
Malcolm.Wallace at cs.york.ac.uk
Mon Feb 19 06:16:03 EST 2007
isaac jones <ijones at galois.com> wrote:
> Iavor and I just made the trivial modification for DoAndIfThenElse
>
> Any comments on this modification? How do people feel about the
> suggestion that we do it for case statements as well?
I'm happy to allow the change for if-then-else. The need for extra
indentation there has annoyed me a few times.
However, I have never come across the case-of expression variation in
practice. Indeed, the wiki page is not very clear on what exactly the
problem is. For instance, until a few minutes ago, the given example
was merely:
case whatever
of
blah -> bluh
blah' -> bluh'
However, that is already perfectly legal Haskell'98. I just changed the
example to read
do case whatever
of
blah -> bluh
blah' -> bluh'
since that is what I thought was perhaps intended. And indeed that is
rejected by a H'98 parser. But it seems a bit of an unlikely coding
style. And it now occurs to me that perhaps something different was
intended. The following is legal H'98:
case whatever of
Cons -> bluh
Nil -> foo
But stick it in a do block and it ceases to be accepted:
do case whatever of
Cons -> bluh
Nil -> foo
Now for myself, I tend to strictly indent the alternatives in a case
expression, but I can see that if you prefer non-indented alternatives,
then the latter would indeed be annoying.
Regards,
Malcolm
More information about the Haskell-prime
mailing list