По умолчанию связывание переменных в Коммон Лисп имеют лексическую область видимости. Когда встречается переменная, её значение определяется максимально близко к месту ссылки на неё.
(let ((delta 4)) ; локальное окружение (defun f (x) (+ x delta))) ; delta - свободная (f 5) 9 (let ((delta 40)) (f 5)) 9
Определение f
порождает объект-функцию, называемую
лексическим замыканием. Оно включает не только исполняемый код,
но и часть вычислительного окружения
со значениями всех свободных переменных, встречающихся в теле определения.
Связывание delta
со значением 4
будет зашито
в
лексическое замыкание. Лексическое связывание имеет неопределённое время действия.