Plaster

text
(defun translate-ordinary-lambda-list-to-apply-args (ordinary-lambda-list) "Translate an ordinary lambda list into a list of arguments suitable for use with APPLY." (destructuring-bind (required-parameters optional-parameters rest-parameters key-parameters allow-other-keys-p) (parse-ordinary-lambda-list ordinary-lambda-list) (when (and (not (null rest-parameters)) (not (null key-parameters))) (setf rest-parameters nil)) (remove nil (append required-parameters optional-parameters (translate-keyword-parameters-to-function-call key-parameters) rest-parameters))))