La liste des paramètres d'une fonction peut contenir plusieurs types de paramètres. Elle peut bien sûr contenir des paramètres ordinaires. En Common Lisp, un tel paramètre est appelé paramètre requis (en Anglais : required parameter), car on doit obligatoirement fournir une valeur pour ce paramètre lors de l'appel à la fonction. Un paramètre requis est un symbole qui, pendant l'appel à la fonction, sera une variable lexicale contenant la valeur d'un argument fourni. Exemple :
* (defun muladd (x y z)
(+ (* x y) z))
MULADD
* (muladd 3 4 5)
17
*
Ici, x, y et z sont des paramètres requis. Pendant l'appel (muladd 3 4 5), x sera une variable lexicale contenant initialement la valeur 3, y sera une variable lexicale contenant initialement la valeur 4 et z sera une variable lexicale contenant initialement la valeur 5.
Un paramètre requis fonctionne comme une variable lexicale normale. Il est donc possible de modifier sa valeur :
* (defun bizarre (x)
(incf x 3)
(expt 2 x))
BIZARRE
* (bizarre 4)
128
*
Ici, la variable lexicale x a été modifiée avant d'être utilisée dans l'expression finale du corps.