Sam Steingold | 29 Dec 2008 17:13
Picon

asdf patch: clisp has mop

clisp has full MOP (since 2005), including change-class (since 2003) & method 
combinations (since 2004).

--- asdf.lisp.~1.130.~	2008-10-15 14:56:08.000000000 -0400
+++ asdf.lisp	2008-12-29 11:10:45.000033000 -0500
 <at>  <at>  -705,8 +705,7  <at>  <at>  the head of the tree"))
  ;;; So you look at this code and think "why isn't it a bunch of
  ;;; methods".  And the answer is, because standard method combination
  ;;; runs :before methods most->least-specific, which is back to front
-;;; for our purposes.  And CLISP doesn't have non-standard method
-;;; combinations, so let's keep it simple and aspire to portability
+;;; for our purposes.

  (defgeneric traverse (operation component))
  (defmethod traverse ((operation operation) (c component))
 <at>  <at>  -1056,9 +1055,6  <at>  <at>  method.")
             (cond ((and s (eq (type-of (cdr s)) ',class))
                    (setf (car s) (get-universal-time)))
                   (s
-                  #+clisp
-                  (sysdef-error "Cannot redefine the existing system ~A with a 
different class" s)
-                  #-clisp
                    (change-class (cdr s) ',class))
                   (t
                    (register-system (quote ,name)

------------------------------------------------------------------------------

Gmane