12.17 Обобщенные переменные

Обобщенная переменная (generalized variable) или форма места (place form) — это одно из многих мест в памяти Lisp, где значения могут храниться с помощью макроса setf (см. Макрос setf). Самая простая форма места — это обычная переменная Lisp. Но CAR и CDR списков, элементы массивов, свойства символов и многие другие места также являются местами, где хранятся значения Lisp.

Обобщенные переменные аналогичны lvalue в языке C, где ‘x = a[i]’ получает элемент из массива, а ‘a[i] = x’ сохраняет элемент с использованием той же нотации. Подобно тому, как некоторые формы, такие как a[i], могут быть lvalue в C, существует набор форм, которые могут быть обобщенными переменными в Lisp.