Donald Bruce Stewart <[EMAIL PROTECTED]> wrote:
The joy of pattern guards
reveals once you have more conditions.

I wrote:
Of course, this is not really the joy of
pattern guards. It is the joy of monads,
with perhaps a few character strokes
saved by a confusing overloading of (<-).

Philippa Cowderoy wrote:
I don't find it any more confusing than the overloading
of ->.

You mean that it is used both for lambda abstractions
and for functional dependencies? True, but those
are so different that there is no confusion.

Note that it's not (<-) - it's not an operator.

Right, it is syntactic sugar for a monad.

But this syntax is already used in two places:
do notation and list comprehensions. The semantics
are exactly the same in both existing uses.

The semantics of the proposed new use in pattern
guards is quite different, as was discussed in the
previous thread. Yet close enough to be confused.

There seems to be a consensus that pattern guards
are here to stay. So I am proposing to mitigate the
damage somewhat by using a different but similar
symbol . That matches the different but similar
semantics. I mentioned (<<-) as one possibility.

Regards,
Yitz
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to