Hi Grant - <br><br>I think it&#39;s not too hard to implement it - I am still a macro newbie, but I think below is what you want... <br><br>(module trace-helper mzscheme <br>&nbsp; (require (lib &quot;trace.ss&quot;)) <br>&nbsp; (define-syntax trace-lambda 
<br>&nbsp;&nbsp;&nbsp; (syntax-rules () <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((_ name (var ...) exp exp2 ...)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (begin <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (letrec ((name (lambda (var ...) exp exp2 ...)))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (trace name)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name)))))<br>&nbsp; (define-syntax trace-let 
<br>&nbsp;&nbsp;&nbsp; (syntax-rules () <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((_ name ((var val) ...) exp exp2 ...)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((letrec ((name <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (trace-lambda name (var ...)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exp exp2 ...)))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; val ...))))<br>&nbsp; (provide (all-from (lib &quot;trace.ss&quot;))) <br>&nbsp; (provide (all-defined)))<br><br>(require trace-helper) <br><br>; example from chez <br>(define half<br>&nbsp; (trace-lambda half (x)<br>&nbsp;&nbsp;&nbsp; (cond<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [(zero? x) 0]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [(odd? x) (half (- x 1))]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [(even? x) (+ (half (- x 1)) 1)])))<br>(half 5)<br>(define half<br>&nbsp; (trace-lambda half (x)<br>&nbsp;&nbsp;&nbsp; (cond<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [(zero? x) 0]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [(odd? x) (half (trace-let decr-value () (- x 1)))]
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [(even? x) (+ (half (- x 1)) 1)])))<br>(half 5)<br><br><br><br><div><span class="gmail_quote">On 4/26/07, <b class="gmail_sendername">Grant Rettke</b> &lt;<a href="mailto:grettke@acm.org">grettke@acm.org</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;">Yea don&#39;t get me wrong is a great tool.<br><br>For some folks traced functions are nice for graphically illustrating
<br>&quot;what happens&quot;, and help them better visualize things.<br><br>On 4/26/07, jos koot &lt;<a href="mailto:jos.koot@telefonica.net">jos.koot@telefonica.net</a>&gt; wrote:<br>&gt;<br>&gt;<br>&gt; May be the Debug button of Drscheme can be useful for you. It allows
<br>&gt; stepwise evaluation, breakpoints to be set and cleared and so on. This<br>&gt; functionality is available without corrupting your source code with tracing<br>&gt; command. All functions speek for themselves; you dont need a manual to use
<br>&gt; it. In my opinion it&#39;s a fine tool.<br>&gt; Jos Koot<br>&gt;<br>&gt; (((((lambda(x)((((((((x x)x)x)x)x)x)x)x))<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; (lambda(x)(lambda(y)(x(x y)))))<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;(lambda(x)(x)x))<br>&gt;&nbsp;&nbsp; (lambda()(printf &quot;Greetings, Jos~n&quot;))))
<br>&gt;<br>&gt; ----- Original Message -----<br>&gt; From: Grant Rettke<br>&gt; To: <a href="mailto:plt-scheme@list.cs.brown.edu">plt-scheme@list.cs.brown.edu</a><br>&gt; Sent: Thursday, April 26, 2007 10:50 PM<br>&gt; Subject: [plt-scheme] trace forms?
<br>&gt;<br>&gt; Hi,<br>&gt;<br>&gt; In Chez Scheme, there are trace forms for let and lambda (trace-let,<br>&gt; for example).<br>&gt;<br>&gt; It is pretty convenient. Is there something like this in MzScheme?<br>&gt;<br>
&gt; How difficult is it to implement something like this?<br>&gt; _________________________________________________<br>&gt;&nbsp;&nbsp; For list-related administrative tasks:<br>&gt;&nbsp;&nbsp; <a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme">
http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>&gt;<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><a href="http://www.yinsochen.com">http://www.yinsochen.com</a><br>...continuous learning...