Monday, June 6, 2011

Quicklisp

I just started using Quicklisp.  I was very slow to adopt largely due to the fact that my current library situation is so fragile and difficult to maintain that I figured switching to a new one would be take more time than I had at the time.  I was wrong, it seems.  After encountering some issues building CL-Graph, and not wanting to get into trying to track down where the problem is, I gave Quicklisp a try.  I have been using Quicklisp for about the last hour and have found that it will work just fine for day to day work, and should reduce my "staying current" headaches.

Excluding my personal packages, Quicklisp already holds most (if not all) of the libraries that I use on a daily basis.  This means that my method of maintaining packages, manual downloads, updates, and versioning, is basically obsolete (I had long ago ditched ASDF-Install because it was doing things I didn't want it to).  To really sweeten the pot, Quicklisp builds several large and/or complicated to build systems that are hard to keep working.

Quicklisp easily integrates with your own packages.  It acts as a last ditch solution to loading a system.  This means that if you have a package in your ASDF path, it will use that first.  Only if ASDF cannot find the requested system, does it check the Quicklisp systems (either on disk or on-line).

But perhaps the thing that I find most satisfying about Quicklisp is that it forces libraries into a more standard format, and that it has generated momentum to get a large number of Lisp libraries canned and dead simple to install on any operating system.

Several people have noted that Quicklisp isn't the first search result for Lisp libraries, so I definitely putting a link here and strongly recommend people use it (for to manage their libraries and perhaps to publish their libraries).

No comments :

Post a Comment