¿Hay alguna forma de exportar todos los símbolos de un paquete o es la única forma de hacerlo en defpackage
? Yo por lo general escribo mi código en un archivo foo.lisp
que por lo general comienza con (in-package :foo)
y poner la definición de paquete en un archivo package.lisp
que generalmente involucra algo como esto:Símbolo de exportación de Lisp común de los paquetes
(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))
Mi pregunta es: Proyectos simplemente una interfaz utilizando algunas variables globales y las funciones pueden no ser adecuadas a veces, y debe exportar algunas estructuras. Cuando este es el caso, si no se exportan simplemente las funciones de acceso de esta estructura, no se pueden manipular los objetos de estas estructuras. Entonces, ¿hay una manera fácil de lograr este efecto sin exportar manualmente todas estas funciones de acceso?
¡Muy bien! Nunca hubiera pensado agregar y consumir un espacio (: exportar) en la definición estándar de tragamonedas CLOS. –