Can't we all just get along?

Rusty Johnson, Nick Levine, 2003-10-14

(These notes were used as the basis of a paper given at the 2003 International Lisp Conference.)

1. The analogy to Greenspun

Any sufficiently large lisp application contains a badly thought-out, poorly implemented version of Common Lisp extensions.

2. History

What we said we needed... in 1989 (the last ever SLUG meeting, i.e. the zeroth ALU meeting).

Everybody was doing bits and pieces on their own, as required.

Lack of standard (or, in some cases, any) de-facto extensions really hindered collaboration between early users of diverse lisps.

So, 14 years later, what's changed?

It may not be rocket science, but it's possible now with an order of magnitude less effort.

Discoverability was the key.

This lead to individuals and groups implementing their own needs (cross-platform or not).

3. What's happened since then

3.1. ANSI Common Lisp

3.2. Technology

The arrival of the internet drove the need to interface to a whole bunch of standards.

The flip side is: the internet (e.g Google) has solved the first-order discoverability problem. These days, nobody needs to write their own search engine. Or even: nobody needs to "know the url".

(If you don't know the URL for google, please send email to

All this has been accompanied by social changes:

Mobility has improved:

4. Current state of extensions to Common Lisp

4.1. Bodies of information

4.2. Bodies of code

5. Where do we go from here?

Our requirements might be...

Solving these requirements... (some of these are clearly no-brainers)

$Id: // $