Continuing about restarts

Update: these changes (along with an additional one for unbound slots) are now available in the CCL repo: http://svn.clozure.com/publicsvn/openmcl/trunk/<os><arch>/ccl

When I read Geoff Wozniak’s post (I know, I\’m a week behind) I was disappointed to see Clozure CL wasn’t even taken into account. I decided to check it out for myself. Initially, I was a bit disappointed, but after only a couple minutes of hacking, I managed to improve the situation a bit.

Situation Lisp implementations
Allegro CL Lispworks SBCL CLISP Clozure CL
No function defined -
Failed function lookup - - -
No class found - -
Division by zero - - - -
No method found -
No slot found - - -
Replace function with generic function -
Redefine a generic function - - 1

1 The existing code handled a defmethod followed by a defmethod with an incompatible lambda-list, but not a defmethod followed by a defgeneric with an incompatible lambda-list.

Initially (the black) we could claim superiority only to SBCL [Ed: just kidding, guys], but after my changes (in red) we’re now on par with Allegro. And Open Source. The squeaky wheel and all that. Thanks to Geoff for pointing out the issue.

Note: these changes currently exist only on my own box. I\’ll get them into CCL 1.2, though.

One Response to “Continuing about restarts”

  1. Geoff Wozniak Says:

    I only neglected Clozure CL because I don’t have it running on my platform yet. :) (I run 32-bit x86 on OS X.) I tested all the ones I have. (And CLisp is old because Mac Ports fails to build the new one for some reason.)

    I’m really looking forward to a working port, especially with your changes. I like OpenMCL when I had a Powerbook.

Leave a Reply