Мои следующие фрагменты кода дадут SB-INT:SIMPLE-READER-PACKAGE-ERROR; Я знаю, что это потому, что пакет "quicklisp-quickstart" еще не определен, пока REPL читает код; Но пакет определен в "quicklisp.lisp".
Как я могу заставить следующий код работать? Или как я могу сказать обычному читателю lisp, что этот пакет будет определен в динамически загружаемом файле?
* (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
(user-homedir-pathname))))
(if (probe-file quicklisp-init)
(load quicklisp-init)
(progn
(load "quicklisp.lisp")
(quicklisp-quickstart:install))))
debugger invoked on a SB-INT:SIMPLE-READER-PACKAGE-ERROR in thread
#<THREAD "main thread" RUNNING {100299C6A3}>:
Package QUICKLISP-QUICKSTART does not exist.
Stream: #<SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100017F893}>
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.
(eval (read-from-string "(quicklisp-quickstart:install)"))
. - person coredump   schedule 01.12.2016