[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