A definição de funções em Lisp passa pela utilização dos seus nomes. Nomes para as funções e nomes para os parâmetros das funções.
Uma vez que o Lisp, antes de avaliar qualquer expressão, tem de a ler e converter internamente para um objecto, os nomes que criamos têm de ter um objecto associado. Esse objecto é designado por símbolo. Um símbolo é, pois, a representação interna de um nome.
Em Lisp, quase não existem limitações para a escrita de nomes. Um nome como quadrado é tão bom como + ou como 1+2*3 pois o que separa um nome dos outros elementos de uma combinação são apenas parênteses e espaços em branco. Por exemplo, é perfeitamente correcto definir e usar a seguinte função:
> (defun x+y*z (x y z) (+ (* y z) x)) x+y*z > (x+y*z 1 2 3) 7
Lisp atribui um significado muito especial aos símbolos. Reparemos que, quando definimos uma função, os parâmetros formais da função são símbolos. O nome da função também é um símbolo. Quando escrevemos uma combinação, o avaliador de Lisp usa a definição de função que foi associada ao símbolo que constitui o primeiro elemento da combinação. Quando, no corpo de uma função, usamos um símbolo para nos referimos a um parâmetro formal, esse símbolo tem como valor o respectivo parâmetro actual que lhe foi associado naquela combinação. Por esta descrição se vê que os símbolos constituem um dos elementos fundamentais da linguagem Lisp.