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.

February 27th, 2008 at 22:21
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.