Back in March I wrote that I had loaded and starting using Zach Beane’s Quicklisp. Since then I have used it with several small projects and I really like it. It does two things for me:
- Makes it super easy to download libraries (see this post, for example) and keep them up to date.
- Manage my own projects.
That second item is, in many ways, even nicer than the ease with which you can retrieve libraries. Quicklisp can also load your local projects, so it’s easy to just do a
(ql:quickload "some-local-project")
to load your project into Lisp so that you can continue working on it. If your project is a library, Quicklisp will automatically load it for other projects that depend on it (via the .asd file).
Today, I was trawling around on Beane’s site, Xach.com, and came across an excellent article he wrote about Making a small Lisp project with quickproject and Quicklisp. If you’re a Lisper and haven’t read this, you should head on over right now to see how a master does things.
One of the interesting things I learned from the article was quickproject. If you’ve ever put together a system with ASDF, you know that the process can be a little fiddly. You need to build the package.lisp
file, the project.asd
file, and your actual code files. Quickproject does much of the work for you. It will build default package.lisp
and project.asd
files based on the information you give it. It will even make an empty project.lisp
file so that you open it in your editor and get right to work.
Naturally, quickproject is available with Quicklisp so I loaded onto my system. I haven’t had a chance to use it yet but I plan to start with my next project.