2011-01-10

January dist update now available

I've updated the Quicklisp dist for January, adding more than 30 new projects and updating dozens of existing projects. You can get the update with (ql:update-dist "quicklisp"). For a list of the current set of projects and their systems, see the Quicklisp releases page.

If I'm missing a useful project, please let me know by opening an issue on GitHub.

Enjoy!

2011-01-04

New projects on the horizon

I'm going to publish a dist update within the week. Here are the new projects included (so far):
  • atdoc-20110104-git
  • bourbaki-20110104-http
  • cells-gtk3-20110104-git
  • cl-azure-20110104-git
  • cl-beanstalk-20110104-git
  • cl-bibtex-20110104-cvs
  • cl-lexer-20110104-git
  • cl-memcached-0.4.1
  • cl-migrations-20110104-http
  • cl-plplot-0.6.0
  • clazy-20110104-cvs
  • clg-20110104-cvs
  • clos-diff-20110104-git
  • dso-lex-0.3.2
  • dso-util-0.1.2
  • elephant-20110104-darcs
  • fucc_0.2.1
  • lredis-20110104-git
  • mgl-20110104-git
  • monkeylib-binary-data-20110104-git
  • mtlisp-20110104-git
  • phemlock-20110104-cvs
  • sqnc-20110104-git
  • wuwei-20110104-git
  • xhtmlgen-20110104-git
If there are other projects you want to see in Quicklisp, please open an issue for it.

2010-12-14

Client update today

I've updated the Quicklisp client today based on some feedback from Eric Daniel. He noticed that loading a compiled system can be very slow, and identified the bottleneck as loading dist metadata repeatedly (and unnecessarily). The old version took about 15 seconds to load a compiled iolib on my laptop, and the new version takes less than 3. Thanks for the feedback, Eric!

To get the update, evaluate (ql:update-client). Please let me know if you run into any trouble with the new code.

2010-12-07

December Quicklisp dist update now available

The December Quicklisp dist is now available. There are a number of new and updated projects. Thanks to everyone who suggested projects to add to Quicklisp.

To get the updated projects, use (ql:update-dist "quicklisp") or (ql:update-all-dists).

I've made three dist releases so far, once per month. The next update will likely take longer than just one month. I will be spending more time adding features to the client and getting it ready to make an official, non-beta release.

Unfortunately, SBCL 1.0.45 and newer have a compiler bug that interferes with building CLX. 1.0.44 does not have the problem; if you want to use CLX or projects based on it (e.g. McCLIM), you should avoid 1.0.45.

Here's a list of new or updated projects; for the full list of projects and systems, see the Quicklisp releases page.

  • asdf-install-20101207-git
  • cells-20101207-git
  • chillax-20101207-git
  • clon-1.0b16
  • cl-closure-template-20101207-git
  • cl-couch-20101207-darcs
  • cl-fad-0.6.4
  • cl-geocode-20101207-git
  • cl-gpu-20101207-git
  • cl-gtk2-20101207-git
  • cl-iconv-20101207-git
  • cl-m4-20101207-git
  • cl-mongo-20101207-git
  • cl-mssql-0.0.2
  • cl-mw-20101207-git
  • cl-org-mode-20101207-git
  • cl-popen-20101207-git
  • cl-prevalence-20101207-hg
  • cl-proc-20101207-darcs
  • cl-quakeinfo-20101207-git
  • cl-quickcheck-20101207-git
  • cl-skip-list-20101207-git
  • cl-sqlite-20101207-git
  • cl-stm-20101207-http
  • cl-store-20101207-darcs
  • cl-twitter-20101207-git
  • cl-uglify-js-20101207-git
  • cleric-20101207-git
  • clfswm-20101207-svn
  • clsql-20101207-git
  • commonqt-20101207-git
  • csv-parser-20101207-http
  • curly-20101207-darcs
  • deflate-20101207-git
  • fare-utils-20101207-git
  • folio-20101207-git
  • fsbv-20101207-git
  • gbbopen-20101207-svn
  • glaw-20101207-git
  • glop-20101207-git
  • gsd-20101207-git
  • gsll-20101207-git
  • hemlock-20101207-git
  • hu.dwim.asdf-20101207-darcs
  • hu.dwim.def-20101207-darcs
  • hu.dwim.serializer-20101207-darcs
  • hu.dwim.stefil-20101207-darcs
  • hu.dwim.syntax-sugar-20101207-darcs
  • hu.dwim.util-20101207-darcs
  • inotify-20101207-git
  • js-v0.10.11-git
  • latex-table-20101207-git
  • lispbuilder-20101207-svn
  • loopless-20101207-git
  • manardb-20101207-git
  • monkeylib-foo-20101207-git
  • monkeylib-macro-utilities-20101207-git
  • monkeylib-markup-html-20101207-git
  • monkeylib-markup-20101207-git
  • monkeylib-pathnames-20101207-git
  • monkeylib-prose-diff-20101207-git
  • monkeylib-test-framework-20101207-git
  • monkeylib-utilities-20101207-git
  • parse-js-20101207-git
  • pileup-20101207-git
  • plokami-20101207-git
  • postmodern-20101207-git
  • prepl-20101207-git
  • protobuf-20101207-git
  • proton-20101207-git
  • relational-objects-for-lisp-20101207-darcs
  • restas-directory-publisher-20101207-git
  • restas-20101207-git
  • rpc4cl-0.3.1
  • sb-vector-io-20101207-git
  • screamer-20101207-git
  • sequence-iterators-20101207-darcs
  • slime-20101207-cvs
  • spartns-1.4.3
  • st-json-20101207-git
  • sw-mvc-20101207-git
  • symbolicweb-20101207-git
  • testbild-20101207-git
  • weblocks-20101207-hg

If you have any questions or comments, please email me or contact the Quicklisp mailing list.

2010-12-04

Quicklisp downtime today (December 4)

Quicklisp stores nearly all its files on Amazon's file service, S3. S3 is extremely reliable and highly available, and is a great value for sharing files with the world. I use my personal Amazon Web Services account to pay for it. I also use that Amazon account for hosting files for xach.com, wigflip.com, and other miscellaneous things.

Today I will make the transition from my personal Amazon account to a new, Quicklisp-only Amazon account. With that transition, it will be easier to use your many generous donations (thank you, Quicklisp users!) specifically for Quicklisp-related expenses.

The transition also means that the availability of beta.quicklisp.org might be interrupted over the next day or so. The quickstart file, quicklisp.lisp, will be unavailable for bootstrapping, and you will not be able to fetch any project archive files for installation.

Sorry for any inconvenience it causes. I started Quicklisp in part because website and version control outages made it hard to get Lisp software in a predictable, reliable way. I hope this short period of transition will be the last Quicklisp outage for a long time.

2010-11-23

New projects in the next dist update

There will be a number of new projects in the next Quicklisp dist update, including asdf-install, cells (coming back, anyway), cl-geocode, cl-gpu, cl-iconv, cl-mssql, cl-mw, cl-org-mode, cl-popen, cl-proc, cl-quakeinfo, cl-uglify-js, csv-parser, curly, latex-table, proton, sb-vector-io, and spartns.

Yes, asdf-install.

2010-11-17

The devil's guide to Quicklisp projects


Stuart Overton asked me "How can I make my projects Quicklisp-friendly?"

Here are some answers to the opposite question: How can you make your projects Quicklisp-hostile?
  • Use a name that someone else is already using
  • Use SourceForge
  • Require extra steps to build, like running a shell script, make, ./configure, etc. outside of the asdf infrastructure
  • Require libraries (especially foreign libraries) that are hard to find, hard to build, or both
  • Bundle third-party libraries with your project; make sure they are either several versions out of date or locally modified in incompatible ways (stealth forking!)
  • Make symlinks a critical part of the build process
  • Your project name (cl-foo) should differ from its primary system name (foo, or even better, quux)
  • System names should not be boring, so try using mixed-case or exotic characters for your system file names
  • Make sure there are multiple forks of the project on github, the original one isn't the canonical one any more
  • Depend on your own personal utility library, which is clearly better in many respects than the twelve other utility libraries already available
  • Include none of README, INSTALL, LICENSE, COPYING
  • Use your implementation's MOP and FFI directly instead of Closer to MOP and CFFI
  • Make releases at most once or twice per decade
  • Make your system definition be just a thin loader for your complicated loader script, which uses none of the defsystem's infrastructure or configuration
That's all I can think of for now...