freenode/#sicl - IRC Chatlog
Search
16:41:17
beach
I just had another idea with respect to debugging. As the paper currently describes, every function called (directly or indirectly) under the control of the debugger will automatically execute the debugging (so slow) version of the function body.
16:41:30
beach
I am thinking we should have a third table that indicates, per function, whether it should be excluded from debugging. The debugger would initially populate this table with all the standard Common Lisp functions.
16:41:38
beach
The user can indicate that certain application functions should be entered into the table. The debugging version of function bodies would start by consulting this table, and if the current function is excluded, it jumps right back to the non-debugging version of the function body.
16:41:39
beach
This way, the user can avoid slowing down the code too much in case the application has functions that do not require debugging.
16:42:35
beach
Similarly, the user can use a debugger command to remove some system function from the table, thereby making it possible to set breakpoints in it.
17:09:14
beach
As the proposal is right now, only leaf-functions should be excluded, since a function that is not being debugged, when it makes a function call, the callee is also not debugged.