You can implement what are you looking for with macros and recursion. There are some existing macros on PLaneT---look at control.plt<br><br>In this specific case, a Schemer would probably write:<br><br>(let loop ()<br>&nbsp;(if (something-is-done)
<br>&nbsp;&nbsp;&nbsp;&nbsp; 'end<br>&nbsp;&nbsp;&nbsp;&nbsp; (begin (do-something)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (loop))))<br><br>Jay<br><br><div><span class="gmail_quote">On 6/5/06, <b class="gmail_sendername">Mike</b> &lt;<a href="mailto:mikee@mikee.ath.cx">mikee@mikee.ath.cx
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">I know there is intended a lot of recursion for scheme,<br>but is there looping? The REPL construct isn't recursive
<br>(my guess). How do you loop?<br><br>(define *running* #t)<br>(while *running*<br>&nbsp;&nbsp;(if (something-is-done)<br>&nbsp;&nbsp;&nbsp;&nbsp;(set! *running* #f)))<br><br>Mike<br>_________________________________________________<br>&nbsp;&nbsp;For list-related administrative tasks:
<br>&nbsp;&nbsp;<a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br></blockquote></div><br><br clear="all"><br>-- <br>Jay McCarthy &lt;<a href="mailto:jay@cs.brown.edu">
jay@cs.brown.edu</a>&gt;<br><a href="http://jay.makeoutcity.com/">http://jay.makeoutcity.com/</a>