Thursday, May 22, 2008

Step in Time


A recent post to the development list has led to some much-needed improvements to the debugger. Specifically, it now support stepping through your code.

This was, I must admit, a rather major omission, and my only defense is that it showcases how handy "many eyes" can be at correcting these sorts of problems.

Since I am the principle developer behind Cusp, it naturally is tailored to my usage patterns. As it is, I use Lisp also exclusively to develop web pages in UCW. As a result, my interaction with the debugger is actually quite limited. It basically only pops up when I have a compile error, at which point I do little more than dismiss it. If something breaks on a page render, ucw catches it and gives me a page full of a backtrace. I certainly never step through code. In fact, I wasn't actually aware that SBCL supported such (if only I had thought to put a (break) in my code, bump up the debug level, and hit 's' once in the debugger, this all could have been avoided).

At any rate, now that Cusp is open source, and has users other than me, people start to fill in those gaps. A Vladislav Titov was so kind as to improve the debugger's handling of multithreading as well, and syncing up to the latest version of Slime while he was at it.

I really enjoy making improvements like these that have UI components. It's very rewarding when you can actually see something on the screen to demonstrate that a change occurred. It makes me wish there were a few more major items I could add. Ah well. Enjoy your new, improved debugger!