Vincent&#39;s proposal wasn&#39;t &quot;let&#39;s treat car as first&quot;, his proposal was &quot;let&#39;s export it in racket/base&quot;.  If we don&#39;t like first/rest, we should have a proposal to remove them from #lang racket... right?  Otherwise, let&#39;s put them in racket/base.  They&#39;re very simple names for very, very common operations.  I use them all the time, and it makes me write different code in racket/base than in racket when I can&#39;t get them.  I would like to either always have them, or be convinced of why I should never have them.<br>

<div class="gmail_extra"><br clear="all"><div>Carl Eastlund</div><br>
<br><br><div class="gmail_quote">On Thu, Dec 13, 2012 at 2:40 PM, Jay McCarthy <span dir="ltr">&lt;<a href="mailto:jay.mccarthy@gmail.com" target="_blank">jay.mccarthy@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">

I agree with Eli. first is not car and shouldn&#39;t be treated as it.<br>
<br>
car : (Cons a b) -&gt; a<br>
first : (List a) -&gt; a<br>
<br>
I also agree with Carl that we should deprecate grandpa&#39;s names and<br>
give nice names. I suggest &quot;fst&quot; and &quot;snd&quot; and &quot;pair&quot;<br>
<br>
Jay<br>
<div><div class="h5"><br>
On Thu, Dec 13, 2012 at 12:26 PM, Carl Eastlund &lt;<a href="mailto:cce@ccs.neu.edu">cce@ccs.neu.edu</a>&gt; wrote:<br>
&gt; If they do the wrong thing, we should fix them, not deprecate them.  We&#39;re<br>
&gt; not LISP, let&#39;s not promote car/cdr as the primary names for list<br>
&gt; operations.<br>
&gt;<br>
&gt; Carl Eastlund<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Dec 13, 2012 at 2:19 PM, Eli Barzilay &lt;<a href="mailto:eli@barzilay.org">eli@barzilay.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; -1, since they are different from what some people would expect them<br>
&gt;&gt; to do.  -2 for the `empty&#39;, `cons?&#39; etc aliases.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; An hour and a half ago, Vincent St-Amour wrote:<br>
&gt;&gt; &gt; I just got tripped up, again, trying to traverse a list with `first&#39;<br>
&gt;&gt; &gt; and `rest&#39; in a `racket/base&#39; file. `first&#39; and `rest&#39; are only<br>
&gt;&gt; &gt; available in `racket&#39; and `racket/list&#39;, but not in `racket/base&#39;.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; If we want to encourage use of `first&#39; and `rest&#39; over `car&#39; and<br>
&gt;&gt; &gt; `cdr&#39; and of `racket/base&#39; when possible (which, e.g., the style<br>
&gt;&gt; &gt; guide does), I think it makes sense to provide `first&#39; and `rest&#39; in<br>
&gt;&gt; &gt; `racket/base&#39;.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; The attached patch implements that change.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Does this sound reasonable?<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt;           ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:<br>
&gt;&gt;                     <a href="http://barzilay.org/" target="_blank">http://barzilay.org/</a>                   Maze is Life!<br>
&gt;&gt; _________________________<br>
&gt;&gt;   Racket Developers list:<br>
&gt;&gt;   <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; _________________________<br>
&gt;   Racket Developers list:<br>
&gt;   <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
&gt;<br>
<br>
<br>
<br>
</div></div>--<br>
Jay McCarthy &lt;<a href="mailto:jay@cs.byu.edu">jay@cs.byu.edu</a>&gt;<br>
Assistant Professor / Brigham Young University<br>
<a href="http://faculty.cs.byu.edu/%7Ejay" target="_blank">http://faculty.cs.byu.edu/~jay</a><br>
<br>
&quot;The glory of God is Intelligence&quot; - D&amp;C 93<br>
<br>
</blockquote></div><br></div>