X-Git-Url: http://christophe.rhodes.io/gitweb/?p=specializable.git;a=blobdiff_plain;f=specializable.lisp;fp=specializable.lisp;h=477342accaf9fa8c424e4deb8c956b354f02ea93;hp=e556db4caff1e2a2f0818c97ed64802111a4c097;hb=c42a35e8d09ec2c3b98a40157baf5300dabab935;hpb=2130ddc33cb507d83f0b62c7340a748534158967 diff --git a/specializable.lisp b/specializable.lisp index e556db4..477342a 100644 --- a/specializable.lisp +++ b/specializable.lisp @@ -44,23 +44,20 @@ (remove-duplicates (mapcar #'sb-mop:method-generic-function (sb-mop:specializer-direct-methods specializer)))) (defclass specializable-generic-function (standard-generic-function) - ((extended-specializers :initform (make-hash-table :test 'equal) - :reader generic-function-extended-specializers) - (emf-table :initform (make-hash-table :test 'equal) :reader emf-table) + ((emf-table :initform (make-hash-table :test 'equal) :reader emf-table) (cacheingp :initform t :initarg :cacheingp) (single-arg-cacheing-p :initform t :initarg :single-arg-cacheing-p)) (:metaclass sb-mop:funcallable-standard-class) (:default-initargs :method-class (find-class 'specializable-method))) -(defclass specializable-method (standard-method) - ((lambda-expression :initarg :lambda-expression - :accessor specializable-method-lambda-expression))) +;;; TODO: we don't use this class yet, but we might do later +(defclass specializable-method (standard-method) ()) (defmacro define-extended-specializer (name (gf-var &rest args) &body body) ;; FIXME: unparser `(setf (get ',name 'extended-specializer-parser) - (lambda (,gf-var ,@args) - ,@body))) + (lambda (,gf-var ,@args) + ,@body))) ;; doesn't work, because we'd have to dump GF into the fasl for the macro ;; expansion