(defmacro progm* (methods values &body body)
`(call-with-method-bindings* ,methods ,values (lambda () ,@body)))
(defmacro progm* (methods values &body body)
`(call-with-method-bindings* ,methods ,values (lambda () ,@body)))
(defun call-with-method-bindings (methods values function
&optional previous)
(let ((methods
(mapcar (lambda (method)
(destructuring-bind (generic-function qualifiers specializers) method
(list
(defun call-with-method-bindings (methods values function
&optional previous)
(let ((methods
(mapcar (lambda (method)
(destructuring-bind (generic-function qualifiers specializers) method
(list