Search code examples
common-lispquicklisp

Where does quicklisp save systems?


After calling (ql:quickload "system-name"), and QuickLisp finishes downloading and installing the system, where on earth does it put it?

I tried looking in my project folder, but it wasn't there, and I couldn't find it in ~/quicklisp either.

So where exactly does it save the system? If it does so at all, that is.


Solution

  • It will be in a directory similar to the following example:

    /home/electric/quicklisp/dists/quicklisp/software/lparallel-20141106-git
    

    To pick that apart: the Quicklisp client is designed so that users can create and add their own software repositories. Quicklisp calls these repositories dists. Quicklisp provides its own dist, which is also named quicklisp. In addition to the software in a dist, quicklisp also stores the dist's metadata and zipped software archives in the dist's directory. Separate from dists, the toplevel quicklisp directory also holds quicklisp's source, a place to put local-projects, and etc.

    That's how you end up with the initially redundant looking quicklisp/dists/quicklisp/software/.

    Also, (ql:where-is-system 'system-name) will return the system's location.