Function: parse-method-definition

Source

(defun parse-method-definition (definition)
  (multiple-value-bind (qualifiers fn-list/body) (split-if (compose #'not #'keywordp) definition) 
    (multiple-value-bind (required-args other-args) (split-if
						     (fn (arg)
						       (and (atom arg)
							    (equal (char (symbol-name arg) 0) #\&)))
						     (car fn-list/body))
    (values qualifiers required-args other-args (cdr fn-list/body)))))
Source Context