Я пытался создать исполняемый файл с использованием lisp-кода. Но я не могу скомпилировать LISP файла на всех, потому что нет hellowolrd
пакета перед загрузкой helloworld
системыНевозможно использовать lisp-пакеты, определенные в системе
;; test.lisp
(asdf:load-system :helloworld)
(defun main()
(helloworld:start))
Конечно, я сделал систему helloworld
и положить его в ~/quicklisp/local-projects/
. helloworld
система успешно загружена без ошибок.
;; ~/quicklisp/local-projects/helloworld/helloworld.asd
(asdf:defsystem helloworld
:version "1.0"
:components ((:file "package")))
;; ~/quicklisp/local-projects/helloworld/package.lisp
(defpackage :helloworld
(:use :common-lisp :asdf)
(:export :start))
(in-package :helloworld)
(defun start()
(format t "Welcome, ASDF"))
Я хочу собрать test.lisp
без явной загрузки. Я также пробовал use-package
и defpackage
, но не смог.
;; test.lisp
(asdf:load-system :helloworld)
(use-package :helloworld)
(defun main()
(helloworld:start))
;; test.lisp
(asdf:load-system :helloworld)
(defpackage :test
(:use :cl :asdf)
(:export :main))
(in-package :test)
(defun main()
(helloworld:start))
Как я могу использовать helloworld
пакет, определенный в helloworld
системе без его загрузки? Должен ли я создать новую систему с использованием системы helloworld
?
(ql: quickload 'helloworld) работает нормально? Какая у вас ошибка? – coredump
Существует дубликат этого вопроса. Но где? –