;;; Packages.
(defpackage #:mdw.mop
- (:use #:common-lisp #:mdw.base #+(or cmu clisp) #:mop #+ecl #:clos)
+ (:use #:common-lisp #:mdw.base
+ #+(or cmu clisp) #:mop
+ #+sbcl #:sb-mop
+ #+ecl #:clos)
(:export #:copy-instance #:copy-instance-using-class
#:with-slot-variables
#:compatible-class
(Yes, I know that using functions would be nicer, but the MOP makes
that surprisingly difficult.)"))
+(defgeneric slot-definition-filter (slot)
+ (:method ((slot slot-definition)) nil))
+
(defclass filtered-direct-slot-definition
(standard-direct-slot-definition)
((filter :initarg :filter :reader slot-definition-filter)))
-(defgeneric slot-definition-filter (slot)
- (:method ((slot slot-definition)) nil))
-
(defclass filtered-effective-slot-definition
(standard-effective-slot-definition)
((filter :initarg :filter :accessor slot-definition-filter)))