<div>Hi,</div><div>I am new here and a Lisp beginner at his first significant development.</div><div>I am having problem to use the :step option of the (trace) form as documented here:</div><div><a href="http://ecls.sourceforge.net/new-manual/re02.html">http://ecls.sourceforge.net/new-manual/re02.html</a></div>
<div><br></div><div>I am using the ECL 12.2.1 REPL on Linux i686.</div><div><br></div><div><div>CL-USER[1]> (defun factorial (n)</div></div><div><div>    (if (plusp n)</div><div>      (* n (factorial (1- n)))</div><div>
      1))</div><div>FACTORIAL</div><div>CL-USER[2]> (trace (factorial :step t))</div><div><br></div><div>Condition of type: SIMPLE-ERROR</div><div>Not a valid argument to TRACE: (FACTORIAL :STEP T)</div><div>Available restarts:</div>
<div><br></div><div>1. (RESTART-TOPLEVEL) Go back to Top-Level REPL.</div><div><br></div><div>Broken at SI:BYTECODES. [Evaluation of: (TRACE (FACTORIAL :STEP T))] In: #<process TOP-LEVEL>.</div><div>** BREAK [LEVEL 2]> </div>
</div><div><br></div><div>What am I doing wrong? Does the (trace) macro accept lists, doesn't it?</div><div><br></div><div>BTW the equivalent and very similar option in another Lisp (GNU CLISP) works:</div><div>(trace (factorial :step-if t))</div>
<div><br></div><div>Thanks<br clear="all">--<br>Antonio Bonifati<br><a href="http://ninuzzo.github.com/" target="_blank">http://ninuzzo.github.com/</a><br><br>
</div>