I come to Lisp from the Python world, which essentially runs on virtualenv
and pip
as the way to create containers and manage dependencies.
Currently, I am learning Common Lisp in more detail and wondering what its community's philosophy is on managing dependencies and packages.
For instance, if I run:
(ql:quickload '(cl-who hunchentoot parenscript elephant fiveam css-lite cl-json))
it is my understanding that all these packages will be installed somewhere within the quicklisp
directory. (I am not sure in which form or where they are installed).
The question is whether sometime it is necessary to install a different version of a package, depending on the code at hand. That is, what does one do in that case? Does he simply rely on the backward compatibility of the package?
How does the Common Lisp world deal with this?