On Friday, May 3, 2013, Neil Toronto  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 05/03/2013 09:12 AM, Eli Barzilay wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
A few minutes ago, Robby Findler wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Given that we don&#39;t yet even have a prototype of racket2, I&#39;m going<br>
to guess that &quot;near&quot; isn&#39;t all that near. IMO, there are other big<br>
things that we should be focused on going first (notably the package<br>
system).<br>
</blockquote>
<br>
+1, since the &quot;damage&quot; would be that people will need to convert uses<br>
`match&#39;, but that&#39;ll be minor compared to `cond&#39;.<br>
</blockquote>
<br>
+1, same reasons.<br>
<br>
When I don&#39;t use match for a while, the first time I use it, I almost always write [else ...] as the last clause. Then I catch myself and replace `else&#39; with `_&#39;.<br>
<br>
I started being careful about catch-all cases in `match&#39; when I wrote an expression similar to this:<br>
<br>
  (match a<br>
    [(list x)  #t]<br>
    [else  (case (first a)<br>
             [(6)  #f]<br>
             [else  #t])])<br>
<br>
got this error:<br>
<br>
  case: bad syntax (not a datum sequence) in: else<br>
<br>
and was completely baffled for a long time.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
A few minutes ago, J. Ian Johnson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I&#39;ve used else as a catch-all binding in match. Yes, it&#39;s not the<br>
best practice, but I think since I&#39;ve done it, other people must<br>
have done it too. This could annoy them.<br>
</blockquote>
<br>
Do you have an actual use that would *break*?  That is, something like<br>
<br>
     (match x ... [else else])<br>
</blockquote>
<br>
I&#39;ll bet almost every use of just `else&#39; as a pattern in the wild doesn&#39;t have `else&#39; in the body because it&#39;s intended to be a catch-all case. If it does have `else&#39; in the body, it&#39;s almost certainly in a `cond&#39; or a `case&#39;, which is either an error or hideous style.<br>

<br></blockquote><div><br></div>FWIW, this was the bug in redex that prompted me to send this message (it was there for some time since it wasn&#39;t a syntax error .... it was similar in spirit to the code I posted; things broke when #f was an argument)<br>
<div><br></div><div>Robby</div>