Функционалы и макросы - Lisp
Формулировка задачи:
Помогите на Lisp с помощью функционалов и (или) макросов создать новую синтаксическую форму:
(СОЗДАТЬ_A-LIST (список ключей) (выражение1) (выражение2)…(выражениеN)) Создать ассоциативный список с заданными ключами и объектами-выражениями
Решение задачи: «Функционалы и макросы»
textual
Листинг программы
;; Если ключи и значения задаются списками: (defun make-alist (keys vals) (mapcar 'cons keys vals)) ==> make-alist (make-alist '(k1 k2 k3 k4) '(v1 v2 v3 v4)) ==> ((k1 . v1) (k2 . v2) (k3 . v3) (k4 . v4)) ;; Если ключи задаются списком, а значения - врассыпную: (defun make-alist (keys &rest vals) (mapcar 'cons keys vals)) ==> make-alist (make-alist '(k1 k2 k3 k4) 'v1 'v2 'v3 'v4) ==> ((k1 . v1) (k2 . v2) (k3 . v3) (k4 . v4))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д