(error "~S is not a defined type class." name)))
(defun must-supply-this (&rest foo)
+ (/show0 "failing in MUST-SUPPLY-THIS")
(error "missing type method for ~S" foo))
;;; A TYPE-CLASS object represents the "kind" of a type. It mainly contains
(defmacro !define-type-method ((class method &rest more-methods)
lambda-list &body body)
- #!+sb-doc
- "DEFINE-TYPE-METHOD (Class-Name Method-Name+) Lambda-List Form*"
(let ((name (symbolicate CLASS "-" method "-TYPE-METHOD")))
`(progn
- (defun ,name ,lambda-list ,@body)
+ (defun ,name ,lambda-list
+ ,@body)
(!cold-init-forms
- ,@(mapcar #'(lambda (method)
- `(setf (,(class-function-slot-or-lose method)
- (type-class-or-lose ',class))
- #',name))
- (cons method more-methods)))
+ ,@(mapcar (lambda (method)
+ `(setf (,(class-function-slot-or-lose method)
+ (type-class-or-lose ',class))
+ #',name))
+ (cons method more-methods)))
',name)))
(defmacro !define-type-class (name &key inherits)