Digamos que construyo una aplicación encima de net.aserve
y bordeaux-threads
. Mi declaración del paquete podría tener este aspecto:¿A dónde debería ir QuickLock QUICKLOAD en mi fuente? ¿En ninguna parte?
(defpackage :my-package
(:use :cl :net.aserve :bordeaux-threads)
(:export …))
utilizo Quicklisp, así que corro (ql:quickload "aserve") (ql:quickload "bordeaux-threads")
en BABA antes de compilar mi paquete, y todo está bien.
Por supuesto, mañana volveré a arrancar SLIME y tengo que acordarme de emitir el QUICKLOAD
antes de compilar, de lo contrario, tendré problemas.
I podía poner algo como
(eval-when (:compile-toplevel)
(ql:quickload "aserve")
(ql:quickload "bordeaux-threads"))
en la parte superior de mi paquete, que es lo que he hecho para el desarrollo, pero tengo la sensación de que no es una buena idea para forzar un administrador de paquetes de un usuario.
¿Existe una mejor alternativa?
¿Puedes ponerlo en tu archivo .clinit.cl? Ver http://www.franz.com/support/documentation/6.2/doc/startup.htm#init-files-1. –
@JohnPick Podría, aunque no estoy ejecutando Allegro CL, pero SBCL probablemente tenga un equivalente. – Ashe
(de hecho, '.sbclrc') Creo que esta es probablemente mi mejor apuesta, tengo la sensación de que es una pena que tenga que ejecutarla en cada inicio, pero algo en el fondo de mi mente me dice que lo que Estoy buscando no tiene sentido, de ahí el "¿En ninguna parte?" en el título de la pregunta, ¡supongo! – Ashe