<div>&nbsp;</div>
<div>Perhaps, it would help for you to think about what each function expects as input and what the expected result of each function is. If you are familair with grammars, it may also help to define the grammar for a list and carefully structure your program to correspond to the different types of list that may exist. 
</div>
<div>&nbsp;</div>
<div>I realize these&nbsp;are very high-level descriptions of my suggestions, but my I hope is that they will provoke some throughts that will lead to a clear design and implementation. It would help very little if anyone simply gave you the answer. 
</div>
<div>&nbsp;</div>
<div>I hope it helps,</div>
<p>Marco<br><br></p>
<div><span class="gmail_quote">On 2/17/07, <b class="gmail_sendername">Teresa Stanton</b> &lt;<a href="mailto:tms43@clearwire.net">tms43@clearwire.net</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>
<p><font face="Arial" size="2">I&#39;m very new to Scheme and need some help.&nbsp; I&#39;m trying to write a function that accepts an accumulating function(summation, product) and a list of numbers and returns the accumulation of the operation on each element of the list.&nbsp; So, if &#39;(1 2 3 4) was supplied to the function and an operation &#39;sum&#39; that adds two elements the function would return the sum of the list. 
</font></p>
<p><font face="Arial" size="2">This is what I have started with and I keep getting an error:</font> </p>
<p><font face="Arial" size="2">(define (doall fn l)</font> <br><font face="Arial" size="2">&nbsp; (if (null? (cdr l)</font> <br><font face="Arial" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (list (fn(car l)))</font> <br><font face="Arial" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (append (process_all fn(cdr l))(list fn(car l))))))
</font> <br><font face="Arial" size="2">&nbsp;</font> <br><font face="Arial" size="2">The error is this:</font> </p>
<p><font face="Arial" size="2">if: bad syntax (has 1 part after keyword) in: (if (null? (cdr l) (list (fn (car l))) (append (process_all fn (cdr l)) (list fn (car l)))))</font></p>
<p><font face="Arial" size="2">I am trying to define the list with this function.&nbsp; I suppose after I can get it to work, next I will work on the summation, product function.&nbsp; First I need to get this list function to work.&nbsp; Any ideas?
</font></p>
<p><font face="Arial" size="2">Trista</font> </p></div><br>_________________________________________________<br>&nbsp;For list-related administrative tasks:<br>&nbsp;<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">
http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br><br></blockquote></div><br>