<p><br>
That certainly doesn&#39;t seem right.  It should prefer the pair check, but it&#39;s supposed to treat calling embedded expressions as slow.  I&#39;ll take a look at that.</p>
<p>On Oct 6, 2011 7:13 PM, &quot;Jay McCarthy&quot; &lt;<a href="mailto:jay.mccarthy@gmail.com">jay.mccarthy@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Given all this talk of optimization, I&#39;m still amazed that my original<br>
&gt; example failed. Basically, the ordering optimization decided that<br>
&gt;<br>
&gt; (and (pair? (cdr e))<br>
&gt;       (parse (car (cdr e))))<br>
&gt;<br>
&gt; is cheaper than<br>
&gt;<br>
&gt; (equal? &#39;+ (car e))<br>
&gt;<br>
&gt; Jay<br>
&gt;<br>
&gt; --<br>
&gt; Jay McCarthy &lt;<a href="mailto:jay@cs.byu.edu">jay@cs.byu.edu</a>&gt;<br>
&gt; Assistant Professor / Brigham Young University<br>
&gt; <a href="http://faculty.cs.byu.edu/~jay">http://faculty.cs.byu.edu/~jay</a><br>
&gt;<br>
&gt; &quot;The glory of God is Intelligence&quot; - D&amp;C 93<br>
</p>