(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