Thursday, October 14, 2010

Oh for the old days...

My work on the (funcall (funcall... )..) was derailed by a problem in &key and &optional lambda lists. Not for all of them. Only the first argument of an &key or &optional (with no required) would drop out. After a couple of days of intense (and futile) debugging, one of my students found the problem while looking into another problem. The LENGTH function had a bug. Quick fix and we're back on track. Some bugs are best worked from another vantage.

2 comments:

  1. I have not looked at the code, but have you considered test driven development? I would not expect to see bugs in a "length" function, and if there are, then the bugs you have not yet caught are going to be ferocious.

    ReplyDelete
  2. You have an excellent point. We do have a test suite that we continue to improve. All of the students (and me) have to run it before posting changes. But tests never test every possible situation. This one hit a one-in-million crack in the LENGTH test. We've added a test for this situation.

    We don't yet have CLOS and the Condition system, hence we don't have the large suite available. As an old colleague reminded me, the big test suite is Soon, Only Not Yet.

    ReplyDelete