On Sun, May 27, 2012 at 10:57 PM, Antonio Bonifati <antonio.bonifati@gmail.com> wrote:
Unfortunately I also need the stepper sometimes to debug my code. Recompiling is not a problem at all. But how do I enable the stepping feature on a function when compiling? I mean, is that already implemented? Do I have to implement it by myself in Lisp itself? :-)

No, the bytecodes compiler is capable of that. As seen in src/c/compiler.d

@(defun si::eval-with-env (form &optional (env Cnil) (stepping Cnil)
                           (compiler_env_p Cnil) (execute Ct))

this is the function that transforms a form into bytecodes and it allows one to specify that it should be stepped. Using this and FUNCTION-LAMBDA-EXPRESSION it should be possible to teach TRACE how to recompile a traced function so that it allows stepping.


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