En Common Lisp, los parámetros con nombre se llaman parámetros de palabra clave.
Los parámetros de palabra clave se designan con la palabra clave de lista lambda &key en una lista lambda.
Los parámetros de palabra clave no son obligatorios, pueden tener un valor predeterminado y también pueden especificar un «parámetro supplied-p» que será «verdadero» o «falso» según si se proporcionó un argumento para el parámetro.
(defun keyword-parameter (&key (arg -1) arg)
(keyword-parameter) ; => -1
(keyword-parameter :arg 13) ; => 13
En los argumentos de una función, los parámetros de palabra clave se especifican mediante su «nombre de palabra clave», que por defecto es una versión del nombre del parámetro como símbolo de palabra clave (es decir, el parámetro de palabra clave name tiene un nombre de palabra clave :name).
Es posible especificar otro nombre para el parámetro de palabra clave usando una lista con el nombre de palabra clave y el nombre del parámetro en lugar de solo el nombre del parámetro:
(defun other-keyword-name (&key ((other-name arg))) (list arg))
(other-keyword-name 'other-name 5) ; => (5)
Aunque se pueden combinar varios tipos de parámetros con otros tipos de parámetros (parámetros opcionales y de palabra clave), esto puede resultar problemático y conviene hacerlo con cuidado. Consulta la sección sobre "Cómo mezclar distintos tipos de parámetros" en Practical Common Lisp.