[Bese-devel] allegro mop compatibility

Nathan Bird nathan at acceleration.net
Fri Mar 31 16:22:44 UTC 2006


I finally traced down an error I was having, same one documented at:
http://paste.lisp.org/display/15624 

 

It's happening because it is trying to query the class-slots of a class that
isn't finalized yet. The classes are finalizable, but apparently allegro
doesn't do this until you actually make-instance. This is apparently in line
with http://www.lisp.org/mop/concepts.html. 

 

So. ?

 

(defun mopp::safe-class-slots (class)

               (unless (mopp:class-finalized-p class)

                 (mopp:finalize-inheritance class))

               (mopp:class-slots class))

 

Alternative we could make mopp:class-slots do the safely wrapping the
implementations version.

 

On a side note, I found the comment in arnesi:

;;;; The code pre-dates Pascal Costanza's closer-mop package. If

;;;; you're looking for a compatability layer you should probably look

;;;; there instead.

 

I haven't looked at the packages as a whole to much so I don't know if it
would be an easy transition, but aside from the work is there a reason to
not start using closer? I use that package for one or two other things. So
it won't really be a NEW requirement for me, but it might be for others.

 

Nathan Bird

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/bese-devel/attachments/20060331/a6d0619e/attachment.html>


More information about the bese-devel mailing list