I don&#39;t currently have anything to add to this discussion, but I want to encourage you all to keep having it because I think it has potential to improve the language in the &quot;do things right or don&#39;t do them at all&quot; philosophy that Haskell tends towards.<br>
<br>  -- ryan<br><br><div class="gmail_quote">On Fri, Jan 20, 2012 at 6:32 AM, Jacques Carette <span dir="ltr">&lt;<a href="mailto:carette@mcmaster.ca">carette@mcmaster.ca</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 19/01/2012 10:19 PM, Edward Z. Yang wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  In other words,<br>
MonadZero has no place in dealing with pattern match failure!<br>
<br>
</blockquote></div>
I completely agree.  See &quot;Bimonadic semantics for basic pattern matching calculi&quot; [1] for an exploration of just that.  In the language of that paper, the issue is that there is a monad of effects for actions, and a monad of effects for pattern matching, and while these are very lightly related, they really are quite different.  By varying both monads, one can easily vary through a lot of different behaviour for pattern-matching as found in the literature.<br>

<br>
I should add that if we had known about some of the deeper structures of pattern matching (as in Krishnaswami&#39;s Focusing on Pattern Matching [2], published 3 years *later*), we could have simplified our work.<br>
<br>
Jacques<br>
<br>
[1] <a href="http://www.cas.mcmaster.ca/%7Ekahl/Publications/Conf/Kahl-Carette-Ji-2006a.html" target="_blank">http://www.cas.mcmaster.ca/~<u></u>kahl/Publications/Conf/Kahl-<u></u>Carette-Ji-2006a.html</a><br>
[2] <a href="http://www.cs.cmu.edu/%7Eneelk/pattern-popl09.pdf" target="_blank">http://www.cs.cmu.edu/~neelk/<u></u>pattern-popl09.pdf</a><div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/<u></u>mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br>