Есть ли короткий способ экспортировать все символы из пакета или это единственный способ сделать это в defpackage
. Обычно я пишу свой код в файле foo.lisp
, который обычно начинается с (in-package :foo)
и помещает определение пакета в файл package.lisp
, который обычно включает в себя что-то вроде этого:
(in-package :cl-user)
(defpackage :foo
(:use :cl)
(:documentation "Bla bla bla."
(:export :*global-var-1*
:*global-var-2*
:function-1
:function-2
:struct
:struct-accessor-fun-1
:struct-accessor-fun-2
:struct-accessor-fun-3
:struct-accessor-fun-4))
Мой вопрос: проектирование просто интерфейса, использующего некоторые глобальные переменные и функции, может быть некорректным иногда, и вам нужно экспортировать некоторые структуры. Если это так, если вы не просто экспортируете функции доступа этой структуры, вы не можете манипулировать объектами этой структуры. Итак, есть ли простой способ для достижения этого эффекта без ручного экспорта всех этих функций доступа?