Monday, November 06, 2006


I spent most of today replicating our hosted web application on a new server, and actually documenting every step. It is amazing the way these things accumulate dependencies. There are things I never remember installing in the first place. It is like dependencies are their own form of self-replicating organism. CL-BASE64, where did that come from? There was even a well timed comment today on #lisp that ucw required half of the libraries to run. I thought - "If you also want to use clsql it requires the other half of"

It came to mind today that while in most languges there is a drive among adopters to want to interface it with existing libraries, in Lisp there really seems to be a desire to implement libraries. Lispniks seem to have a preference for seeing a solution coded in Lisp itself. It is not that Lisp doesn't have an easy way to talk to foreign libraries. If anything, it suffers from too many (sb-alien, sb-grovel, uffi, cffi, etc). People just enjoy writing stuff in Lisp itself.

It seems like there are one or two conversations a week explaining to a newcomer to Lisp that "in Lisp" means literally just that - the cl-foobar library doesn't call to the foobar command-line tool, or link with It is a native implementation of foobar in 100% Lisp. Come to think of it, more often than not, Xach is involved on one side of the conversation. I think the old-timers take great pleasure from the obvious shock to people that have been taught the rigid low-level compiled versus high-level dynamic view of the programming language spectrum. Heck, that seems to be the entire point behind Practical Common Lisp.

Okay, now where did that dependency come from...



Post a Comment

<< Home