<div dir="ltr">I think the bad property is the shadowing of the &quot;else&quot; identifier and Matthew&#39;s point is that one way to avoid that is to not use an identifier at all.<div><br></div><div style>The racket2 wiki currently says &quot;try this out&quot; so I guess it isn&#39;t something people believe will definitely be better, but something to explore.</div>
<div><br></div><div>Robby</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, May 4, 2013 at 10:33 AM, Laurent <span dir="ltr">&lt;<a href="mailto:laurent.orseau@gmail.com" target="_blank">laurent.orseau@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">(that was assuming Ryan&#39;s assertion that &quot;[...]Matthew say that he would have used a keyword for `else` in `cond` if
he had it to do over again&quot;, which seem to mean that even in Racket2 Matthew would prefer `#:else&#39; over `[else ...]&#39; ?)</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">
On Sat, May 4, 2013 at 5:14 PM, Laurent <span dir="ltr">&lt;<a href="mailto:laurent.orseau@gmail.com" target="_blank">laurent.orseau@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Matthew, <br></div>Out of curiosity, could you explain why you&#39;d prefer #:else everywhere instead of [else ...] ?<br>


</div><div>Would such an #:else allow for multi-line bodies?<br></div></div><div><div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, May 4, 2013 at 5:06 PM, Matthew Flatt <span dir="ltr">&lt;<a href="mailto:mflatt@cs.utah.edu" target="_blank">mflatt@cs.utah.edu</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div>At Sat, 4 May 2013 09:15:22 -0500, Robby Findler wrote:<br>
&gt; On Sat, May 4, 2013 at 9:07 AM, Matthew Flatt &lt;<a href="mailto:mflatt@cs.utah.edu" target="_blank">mflatt@cs.utah.edu</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; At Fri, 3 May 2013 17:29:52 -0400, Eli Barzilay wrote:<br>
&gt; &gt; &gt; A few minutes ago, Robby Findler wrote:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; FWIW, this was the bug in redex that prompted me to send this<br>
&gt; &gt; &gt; &gt; message (it was there for some time since it wasn&#39;t a syntax error<br>
&gt; &gt; &gt; &gt; .... it was similar in spirit to the code I posted; things broke<br>
&gt; &gt; &gt; &gt; when #f was an argument)<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; [I think that it&#39;s good to have a much more relaxed policy about<br>
&gt; &gt; &gt; breaking compatibility in cases like this: so far there was no real<br>
&gt; &gt; &gt; code found that uses the feature, but there is one instance of code<br>
&gt; &gt; &gt; that would get fixed by the change...]<br>
&gt; &gt;<br>
&gt; &gt; Well, Ian provided an example from real code, right? Ian is willing to<br>
&gt; &gt; change his code, but the code sounds real.<br>
&gt; &gt;<br>
&gt; &gt; There&#39;s also the use in `unparse-pattern&#39; in Redex. Maybe that&#39;s the<br>
&gt; &gt; troublesome one that Robby has in mind changing (or he would be happy<br>
&gt; &gt; to change it, obviously), but it&#39;s another real example.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; No, that was not the example. The code I sent at the beginning of the<br>
&gt; thread was an adjusted version of the bug that hid in Redex for, roughly,<br>
&gt; months. It was a real bug and caused real problems and we knew something<br>
&gt; was wrong but didn&#39;t find it for some time.<br>
&gt;<br>
&gt; In other words, this isn&#39;t some made-up, code cleanliness-based request.<br>
<br>
</div></div>Yes, I understand that you faced a real bug. I hedged above on<br>
`unparse-pattern&#39; not to suggest that your actual bug was<br>
uninteresting, but to suggest that I might misunderstand the<br>
relationship between the bug and the current state of our repository.<br>
<br>
All else being equal, I&#39;m definitely in favor of a change to a sensible<br>
`else&#39; for `match&#39;. The &quot;else&quot; that isn&#39;t equal, however, is backward<br>
compatibility, and I think we&#39;re at the right point in our development<br>
cycle to defer backward incompatibilities to the next language ---<br>
hence my vote to defer.<br>
<div><div><br>
_________________________<br>
  Racket Developers list:<br>
  <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>