https://cdegroot.com/programming/commonlisp/2025/11/26/cl-ql-asdf.html
This is a good exploration/explanation of #CommonLisp packages, systems, and Quicklisp. Yet I disagree on the practical matters and author’s taste.
• Package-inferred systems are bad, because they decentralize system information and make packaging a living hell. (I know it—I tried to package Lem.) Regular systems have all the system metadata in one place, which is much more processable and readable. Build metadata (systems) should not belong to code namespaces (packages)—it’s quite absurd if we frame it this way.
• Putting all of the libs into ~/common-lisp (or better suggested ~/.local/share/common-lisp/source) is a bad practice, because it pollutes every image from now on with a single version of the package, with no way to override or tweak it. Prefer isolated pinned dependencies. I, in fact, have a WIP post on that, will publish soon.
• Modules are still useful, because implementations use them for optional pre-ASDF features. So knowing about modules is useful, if only to (require "asdf").