8.3 Деструктуризация

[Макрос] destructuring-bind lambda-list expression {declaration}* {form}*

Данный макрос связывает переменные указанные в лямбда-списке с соответствующими значениями в древовидной структуре, являющейся результатом вычисления выражения, а затем выполняет формы как неявный progn.

Лямбда-список может содержать ключевые символы &optional, &rest, &key &allow-other-keys, and &aux. &body и &whole также могут использоваться как и в defmacro, однако &environment использоваться не может. Идея в том, что лямбда-список destructuring-bind имеет тот же формат, что и внутренние уровни лямбда-списка defmacro.

Если результат выполнения выражения не совпадает с шаблоном деструктуризации, то должна быть сигнализирована ошибка.