common-lispquicklisp

Beginner question regarding lisp package manager: Is quicklisp the answer or do other things need to be considered?


I'm running Clozure Common Lisp and progressed to the point that I want to start using libraries. I see in lisp the functionality is in packages. Googling about I came across the QuickLisp package manager. Seems easy enough, but I wanted advice before going that way. Is QuickLisp the package of choice or are there ther package managers?

This is for a person self learning lisp. I don't have any major projects ongoing. Looking for that "Deep programming insight that learing lisp causes."(R)


Solution

  • What you call “packages” is called “system” in the Lisp ecosystem. (Packages are something like namespaces within a running image.)

    The de facto standard system mechanism in Lisp is ASDF (“another system definition facility”). It provides mechanisms for declaring files and dependencies for your system, and it can load a system by (roughly speaking) recursively loading its dependencies first. It is included in all relevant Lisp implementations.

    Quicklisp sits on top of that and provides the ability to download and load dependencies on the fly from their source into your image. It uses a curated list of projects (a dist). The standard dist (called quicklisp as well) is quite comprehensive and updated about monthly. There are also some other dists for special needs.

    There were other attempts to get such a thing going, but this is the one that has taken off. Especially as a beginner, just use it. You won't be disappointed.