Программа на Lisp состоит из набора выражений или форм (см. Виды форм). Мы управляем порядком выполнения этих форм, заключая их в структуры управления. Структуры управления — это специальные формы, которые контролируют, когда, будет ли или сколько раз выполнять формы, которые они содержат.
Самый простой порядок выполнения — это последовательное выполнение: сначала форма a, затем форма b и так далее. Это происходит, когда вы пишете несколько форм подряд в теле функции или на верхнем уровне в файле кода Lisp — формы выполняются в порядке написания. Мы называем это текстовый порядок. Например, если тело функции состоит из двух форм a и b, вычисление функции сначала вычисляет a, а затем b. Результат вычисления b становится значением функции.
Явные структуры управления позволяют порядок выполнения, отличный от последовательного.
Emacs Lisp предоставляет несколько видов структур управления, включая другие варианты последовательности, условные операторы, итерацию и (контролируемые) переходы — все обсуждается ниже. Встроенные структуры управления являются специальными формами, поскольку их подформы не обязательно вычисляются или не вычисляются последовательно. Вы можете использовать макросы для определения собственных конструкций структур управления (см. Макросы).