<div>OK, that helps me a little.&nbsp; If I&nbsp;insert "cons (first word)," then I can rebuild the word:</div>  <div>&nbsp;</div>  <div>(define (cons-function word)<BR>&nbsp; (cond<BR>&nbsp;&nbsp;&nbsp; [(empty? (rest word)) word]<BR>&nbsp;&nbsp;&nbsp; [else (cons (first word) (cons-function (rest word)))]))</div>  <div>&nbsp;</div>  <div>(cons-function (list 'A 'T 'W)) = (list 'A 'T 'W)</div>  <div>&nbsp;</div>  <div>The problem is how to add this to a shrinking function:</div>  <div>&nbsp;</div>  <div>(define (shrinking-function s word)<BR>&nbsp; (cond<BR>&nbsp;&nbsp;&nbsp; [(empty? (rest word)) empty]<BR>&nbsp;&nbsp;&nbsp; [else (list (append (list s) word) (shrinking-function s (rest word)))]))<BR></div>  <div>(This shrinking function isn't exactly what I want, but at least it gives me (list 'X 'A 'T 'W) and (list 'X 'T 'W)).</div>  <div>&nbsp;</div>  <div>So I append them together: </div>  <div>&nbsp;</div>  <div>(append (cons-function (list 'A 'T 'W))
 (shrinking-function 'X (list 'A 'T 'W)))</div>  <div>&nbsp;</div>  <div>And I get this:</div>  <div>&nbsp;</div>  <div>(list (list 'X 'A 'T 'W) (list (list 'X 'T 'W) empty)) (list 'A 'T 'W (list 'X 'A 'T 'W) (list (list 'X 'T 'W) empty))</div>  <div>&nbsp;</div>  <div>Garbage!</div>  <div>&nbsp;</div>  <div>As a last resort, I try to combine cons and shrinking functions together:</div>  <div>&nbsp;</div>  <div>(define (cons+shrinking-function s word)<BR>&nbsp; (cond<BR>&nbsp;&nbsp;&nbsp; [(empty? (rest word)) word]<BR>&nbsp;&nbsp;&nbsp; [else (append (cons (first word) (cons+shrinking-function 'X (rest word))) (list s) (rest word))]))</div>  <div>&nbsp;</div>  <div>(cons+shrinking-function 'X (list 'A 'T 'W)) = (list 'A 'T 'W 'X 'W 'X 'T 'W)</div>  <div>&nbsp;</div>  <div>It looks kind of&nbsp;nice, but it is even further from the expected result.</div>  <div>&nbsp;</div>  <div><BR><B><I>Matthias Felleisen &lt;matthias@ccs.neu.edu&gt;</I></B> wrote:</div>  <BLOCKQUOTE
 class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">  <DIV><BR></DIV>  <DIV>How about (cons 'A (list 'X 'T)) = (list 'A 'X 'T)</DIV>  <DIV><BR></DIV>  <DIV><BR></DIV>  <DIV><BR></DIV><BR>  <DIV>On Mar 28, 2008, at 10:53 AM, Cooke Kelsey wrote:<BR class=Apple-interchange-newline>  <BLOCKQUOTE type="cite">(append (list 'A) (list 'X 'T)) = (list 'A 'X 'T)<BR><BR><B><I>Matthias Felleisen &lt;<A href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</A>&gt;</I></B> wrote:   <BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">  <DIV><BR></DIV>  <DIV>Here is a definition of 'adding in the missing element':&nbsp;</DIV>  <DIV><BR></DIV>  <DIV>*&nbsp;If&nbsp;a&nbsp;list&nbsp;X&nbsp;misses&nbsp;the&nbsp;symbol&nbsp;'A&nbsp;(at&nbsp;the&nbsp;front),&nbsp;how&nbsp;do&nbsp;you&nbsp;get&nbsp;a&nbsp;list&nbsp;that&nbsp;has&nbsp;the&nbsp;'A&nbsp;and&nbsp;all&nbsp;of&nbsp;X?&nbsp;</DIV>  <DIV><BR></DIV> 
 <DIV>* X = (list 'X 'T) and 'A --&gt; I want (list 'A 'X 'T). How do I do that?&nbsp;</DIV>  <DIV><BR></DIV>  <DIV>-- Matthias</DIV>  <DIV><BR></DIV></BLOCKQUOTE>  <DIV><BR class=khtml-block-placeholder></DIV>  <HR SIZE=1>  Be a better friend, newshound, and know-it-all with Yahoo! Mobile. <A href="http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ">Try it now.</A></BLOCKQUOTE></DIV><BR></BLOCKQUOTE><BR><p>&#32;



      <hr size=1>Never miss a thing.  <a href="http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs"> Make Yahoo your homepage.</a>