10.2.3 Классификация списковых форм

Форма, которая является непустым списком, является либо вызовом функции, либо вызовом макроса, либо специальной формой, в зависимости от ее первого элемента. Эти три вида форм вычисляются по-разному, как описано ниже. Оставшиеся элементы списка составляют аргументы для функции, макроса или специальной формы.

Первый шаг в вычислении непустого списка — это изучение его первого элемента. Этот элемент сам по себе определяет, какой тип формы представляет собой список, и как обрабатывать остальную часть списка. Первый элемент не вычисляется, как это происходит в некоторых диалектах Lisp, таких как Scheme.