Christophe
Weblog
Wiki
Code
Publications
Music
projects
/
specializable.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3439c63
)
note a fixme
author
Christophe Rhodes
<csr21@cantab.net>
Thu, 12 Dec 2013 14:53:33 +0000
(14:53 +0000)
committer
Christophe Rhodes
<csr21@cantab.net>
Thu, 12 Dec 2013 14:53:33 +0000
(14:53 +0000)
specializable.lisp
patch
|
blob
|
history
diff --git
a/specializable.lisp
b/specializable.lisp
index 6fabb2420607b828db73b9599e4724833f0e1b19..29ad9260ff1f2d78abc78879e0e50902013081dc 100644
(file)
--- a/
specializable.lisp
+++ b/
specializable.lisp
@@
-51,6
+51,12
@@
;;; gf
;;; args))))
;;; 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)
(defun make-extended-specializer (sname)
(destructuring-bind (kind &rest args) sname
(apply (or (get kind 'extended-specializer-parser)