* Giorgos Pontikakis [2005-12-05 23:30+0100] writes:
So, my next question is: Are there any other alternatives for having information for local variables _and_ source code location recording simultaneously? Maybe with another Lisp implementation (preferably on Linux)?
I have tried SBCL and CLISP, but: -- SBCL+SLIME behaves similarly with (if not worse than) CMUCL+SLIME. (which I find plausible, since SBCL is a CMUCL fork).
Yes that's probably true. I think SBCL records the source location also for LOADed source files, but SBCL has no interpreter (everything is compiled) and I think SBCL has the same issue as CMUCL with regard to local variables.
-- CLISP+SLIME does not even give me a backtrace (although the CLISP debugger alone does. I think I've read somewhere in the SLIME docs that this is a CLISP issue.
I don't quite understand how CLISP works. The backtrace is apparently the entire stack content which includes much more than "frames" with local variables. There is also no real API for the debugger; that makes it hard for SLIME to produce something sensible.
Or maybe I didn't set up thing appropriately with either implementation. I don't know. If you can enlighten me, I would be grateful!
Lispworks has a pretty good debugger in that regard. Lispworks also supports the "restart-frame" thing so that you can replace a compiled function with a interpreted version before restarting. Interpreted code can also be stepped, but that's not supported by SLIME.
OTOH, experienced programmers don't seem to use sophisticated debuggers. Most of them are happy with print statements. Probably because they write short and easy to test functions.
Helmut.