2011-12-01

Hunchentoot and Weblocks

Hunchentoot development has picked up after a lengthy hiatus, and some of the recent changes have affected other projects. For the most part, projects have been adapted to work, but there's a big exception: Weblocks.

Weblocks does not build with Hunchentoot 1.2.2 because it references hunchentoot:*default-handler*, which doesn't exist any more. I reported the problem on the mailing list, but haven't gotten a response yet.

Do you use Weblocks? Can you help adapt it to the new Hunchentoot? If it isn't updated sometime soon, I won't be able to include it in Quicklisp in the future. (You can always go back in time, if you have to.)

2011-11-29

The Quicklisp release schedule

I've been trying to make a Quicklisp dist update about once per month. For next month, I hope to make the update on December 3rd.

2011-11-28

My talk in Amsterdam

I gave a talk entitled "Quicklisp, technically and socially" at ECLM 2011 in Amsterdam last month. Here is some material from the talk:
Hope you find it interesting!

2011-11-26

Local projects update

When I announced the local-projects feature, I mentioned that symlinking directories into the local-projects directory wouldn't work on SBCL or Clozure CL. I'm pleased to report that both SBCL and ClozureCL have pending updates committed to change this situation; in the near future, when using the latest SBCL or Clozure CL, you will be able to symlink directories into local-projects and things should just work.

Thanks to the helpful maintainers of both implementations for the changes to make this possible.

2011-11-15

Client update available

I've posted a new Quicklisp client. You can get it with (ql:update-client), and it will take effect after a restart. It changes how local projects are found.

Local projects no longer take precedence over all other system search mechanisms. The local project directory ~/quicklisp/local-projects/ is checked after the ASDF source registry but before the Quicklisp dist mechanism. That means you can override Quicklisp systems, either local project systems or dist software systems, by managing your ASDF central registry appropriately.

This change is in response to user feedback. If you run into any problems with the local project mechanism, which is still evolving, please let me know!

2011-11-06

November Quicklisp updates

Survey
I'm conducting a new Quicklisp survey. I'd like to find out the best way to reach the most people when there is Quicklisp news to share. It's one question, so if you can, please go fill it out.

Client Update
There's a new Quicklisp client available. You can get it with (ql:update-client). The new version will take effect after you restart your Lisp. 

This client has a feature that I think will be very helpful: any directory created in ~/quicklisp/local-projects/ will be automatically scanned for system files. There's no need to run an additional command to reconfigure ASDF.

For example, if there's a library that isn't part of Quicklisp, you can try it out with something like this in a shell:

$ cd ~/quicklisp/local-projects/
$ git clone git://github.com/xach/format-time.git

And something like this in a REPL:

* (ql:quickload "format-time")

There is no need to update your ASDF source registry or initialize it manually after adding new projects. This should simplify the directions authors can provide to people who want to try their projects.

There are a few things to keep in mind with this new feature:

First, you can't just symlink something into ~/quicklisp/local-projects/; for some Lisps (CLISP, ECL)  that works, for others (SBCL, ClozureCL) it doesn't. I hope to eliminate that limitation soon.

Also, only projects created in the top level of the directory are automatically scanned. Directories created or modified below the top level do not trigger an automatic scan. You can initiate a manual scan with (ql:register-local-projects), though. 

Finally, projects in ~/quicklisp/local-projects/ take precedence over both systems in the ASDF source registry and systems in Quicklisp. I'm not sure I'll keep that ordering if it causes problems.

This feature is a work in progress, so I appreciate any feedback, positive or negative.

Dist Update
I've updated the Quicklisp dist. You can get the update with (ql:update-dist "quicklisp")

Here's a summary of the changes this month:

New projects: able, asdf-dependency-grovel, autoproject, binascii, cgn, cl-apple-plist, cl-generic-arithmetic, cl-launch, cl-prolog, cl-rmath, cl-tokyo-cabinet, data-sift, deoxybyte-gzip, deoxybyte-io, deoxybyte-systems, deoxybyte-utilities, exscribe, fare-mop, lparallel, queues, text-query, thread.comm.rendezvous, xcvb, xml-emitter.

Updated projects: alexandria, antik, blackthorn-engine-3d, buildnode, caveman, chipz, cl+ssl, cl-2d, cl-closure-template, cl-csv, cl-inflector, cl-langutils, cl-match, cl-mediawiki, cl-num-utils, cl-oauth, cl-odesk, cl-quickcheck, cl-random, cl-scrobbler, cl-stomp, cl-test-more, cl-tuples, cl-twitter, cl-uglify-js, clack, clawk, clfswm, closer-mop, clsql-orm, collectors, com.google.base, command-line-arguments, contextl, css-selectors, data-table, doplus, elf, fare-utils, gbbopen, glop, group-by, gsll, gtk-cffi, hu.dwim.defclass-star, hu.dwim.reiterate, hu.dwim.stefil, hu.dwim.util, hunchentoot, hunchentoot-cgi, latex-table, lisp-gflags, lla, meta, metatilities-base, nibbles, parse-js, plokami, postmodern, protobuf, recursive-regex, restas, restas-directory-publisher, rfc2388, rpc4cl, rutils, screamer, simple-date-time, slime, symbol-munger, talcl, tap-unit-test, trivial-types, uri-template.

Removed projects: cl-webkit, tilde, webfunk.

cl-webkit has been removed because it now requires a version of the webkit library that I haven't been able to test. I hope to restore it next month. tilde has been removed because it's an unnecessary sbcl-only library; SBCL supports "~" in pathnames without any patches now. And webfunk no longer builds with the latest Hunchentoot.

Hunchentoot has a big update this month, the first new release in more than a year. It has a few backwards-incompatible changes. Affected projects in Quicklisp (except for webfunk) have been updated. However, you might find that your own Hunchentoot-using projects are affected by the changes. If that's problematic, you can either avoid updating Quicklisp, or if you've already updated, you can go back to a previous version.

As usual, if you have any questions or comments about Quicklisp updates, feel free to email me or discuss things on the Quicklisp mailing list.

Happy Lisping!

2011-11-03

A word of warning

I will update the Quicklisp dist within a few days. The update will include a fairly major update to Hunchentoot, one that changes the public Hunchentoot API in a few backwards-incompatible ways.

All Quicklisp libraries that depend on Hunchentoot have been updated, if needed, to work with the API changes. However, if you have a private or local project that depends on Hunchentoot, you may find that it needs to be updated to work with the new version.

If, for whatever reason, you don't want to use the new Hunchentoot, you can always use Quicklisp's ability to go back in time to the previous version.

This is the first big backwards-incompatible update of its kind for such a major project, so if you run into problems or have feedback, please let me know. Feel free to email me or contact the Quicklisp mailing list.