2014-01-23

Consistent configuration with Quicklisp

I've been working on two new capabilities in Quicklisp. The default setup won't change, but there will be new options to use when you need them.

First, the quickstart process (downloading and loading quicklisp.lisp) will let you select exactly which dist to use at installation time.

If your project critically depends on the state of the Quicklisp library world from July, you can get your project development environment set up almost instantly with the correct version at installation time. (This was always possible after installation, but now you can skip a number of tedious manual steps.)

Second, you can also choose what version of the Quicklisp client software to use at installation time. You can also install an older version after initial installation.

This has been difficult to do in the past without saving the software and keeping track of it yourself. But now you can use a specific version with a simple option at installation time or a single function call after installation.

What are these capabilities for?

If you're starting a new project, it's reasonable to use the latest of everything – Quicklisp and libraries together. That's the default setup of Quicklisp. But the Quicklisp code and the libraries change over time. If you install Quicklisp fresh on another computer, or update Quicklisp on your original computer, it may bring different code and newer libraries that interact with your project in unexpected ways. It's good to have both an easy way to make a new install with a configuration consistent with your original installation, and a way to go back to that consistent configuration if an update goes wrong.

This work is nearly done, but needs some testing to knock off the rough edges. If you're interested in helping me test things out, please send me an email at xach@clozure.com. edit If you'd like to see the code, it's in the "versions" branches of https://github.com/quicklisp/quicklisp-client/ and https://github.com/quicklisp/quicklisp-bootstrap/.

The work has been supported by my employer, Clozure Associates. If you need Quicklisp support or enhancement, or have other Lisp consulting needs, get in touch!

No comments:

Post a Comment