title: How to do dynamic load (Load) in common lisp
body: <p>My following code snippets will give SB-INT:SIMPLE-READER-PACKAGE-ERROR;
  I know it is because package "quicklisp-quickstart" is not defined yet while REPL reads the code; But the package IS defined in "quicklisp.lisp".</p>
  
  <p>How can I make the following code work? 
  Or How can I tell the common lisp reader this package will be defined in the dynamically loaded file?</p>
  
  <pre><code>* (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
  #&lt;THREAD "main thread" RUNNING {100299C6A3}&gt;:
    Package QUICKLISP-QUICKSTART does not exist.
  
      Stream: #&lt;SYNONYM-STREAM :SYMBOL SB-SYS:*STDIN* {100017F893}&gt;
  
  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.
  </code></pre>