Опциональный параметр у функции с значением по умолчанию

(defun multiply-then-maybe-add (x y &optional (z 0) )
  (+ (* x y) z))

Именованные параметры у функции

(defun first-n-chars (string n 
                &key reverse-first  nil by default
                     (capitalize-first t) )
        ;...
       )
(first-n-chars "hello world" 5 :reverse-first t) 

(defun foo (a b
            &optional (c 'c) d
            &rest keys
            &key (e 'e) ((:x f) 0 f-present-p) g
            &allow-other-keys)
  (list a b c d e (list f f-present-p) g keys))

(foo 0 1 2 3 :g 4 :x 5 :z 123)
(0 1 2 3 E (5 T) 4 (:G 4 :X 5 :Z 123))
-----------