On Sat, May 26, 2012 at 5:20 PM, Antonio Bonifati <antonio.bonifati@gmail.com> wrote:
What am I doing wrong? Does the (trace) macro accept lists, doesn't it?

No, this is just a legacy option which is not used by the current interpreter. The original interpreter was based on a code performing list traversal; the current one is a bytecodes compiler which has the option to step through code, but this has to be told at compilation time. The :step option could be reimplemented by forcing the function to be re-compiled, though.
BTW the equivalent and very similar option in another Lisp (GNU CLISP) works:
(trace (factorial :step-if t))

That does not mean much. GCL has a totally different (and slower) interpreter.


Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)