Christophe Weblog Wiki Code Publications Music
note a fixme
authorChristophe Rhodes <csr21@cantab.net>
Thu, 12 Dec 2013 14:53:33 +0000 (14:53 +0000)
committerChristophe Rhodes <csr21@cantab.net>
Thu, 12 Dec 2013 14:53:33 +0000 (14:53 +0000)
specializable.lisp

index 6fabb2420607b828db73b9599e4724833f0e1b19..29ad9260ff1f2d78abc78879e0e50902013081dc 100644 (file)
 ;;;             gf
 ;;;             args))))
 
+;;; FIXME: this (and add/remove-direct-method) don't actually work
+;;; together, because two distinct calls to make-extended-specializer
+;;; return two distinct specializer objects.  We need either to make
+;;; the extended specializers be interned, or to have them be
+;;; arbitrarily ephemeral but adjust specializer-direct-methods (and
+;;; implement specializer-direct-generic-functions) accordingly.
 (defun make-extended-specializer (sname)
   (destructuring-bind (kind &rest args) sname
     (apply (or (get kind 'extended-specializer-parser)