[cl-faq] Q: why doesn't Lisp have a Benevolent Dictator like Perl/Python/what-have-you

John Deszyck mnemonicsloth at gmail.com
Mon Jan 30 14:35:56 CST 2006


On 1/30/06, Larry Clapp <larry at theclapp.org> wrote:
> Q: Why doesn't Lisp have a Benevolent Dictator like Perl or Python or
> whatever other language some sniveling whiner wants the entire
> Lisp-using world to transform itself into for his or her benefit?

A: It's been noted by Paul Graham (and others?) that due to its
unusual flexibility, Lisp is the only programming language with
independent dialects.  Unless you count Perl, whose many mutually
unintelligible dialects are distributed together under a catch-all
label.

Lisp is very customizable -- so much so that lispers frequently write
entire languages to help them get their work done.  Working in a
medium like that, differing tastes and the need to choose "horses for
courses" create a tendency toward divergence in language and
implementation.



I thought of a few other answers, but I haven't been involved long
enough to know whether  any of these are hot air:

* The "community process" used to develop languages relies heavily on
internet infrastructure that didn't exist when CL and Scheme were
being developed.  Today, a bunch of implementors brainstorm over email
and then integrate them into a software distribution.  Back then, the
implementors -- including large companies and government agencies --
negotiated an agreement about what the language would look like, and
then went their separate ways to write the code.

* Lisp's theoretical core is very small -- lists, symbols, fewer than
10 operators, and a few traditions that have turned out to be useful. 
In some sense, everything else is a library function -- meaning up for
reinterpretation and reimplementation.  Oddly enough, there are a lot
of people, especially those interested in more abstract CS and the
theory of programming languages (I acknowledge that this is
out-and-out prejudice on my part -jd) who find this kind of
from-scratch-rewrite really interesting.

* Internet scripting languages were all developed by individual
programmers at first.  Lisp split into regional dialects by the  ?<mid
1960s>?  and began evolving in different directions.  Later attempts
at consolidation have had to keep a lot of people happy.  This is one
of the reasons for the size & complexity of the CL language spec.

You could argue, though, that Lisp is becoming more integrated, and
that the evolution is slow because the community has until lately been
small.  A single Common Lisp is better than multiple incompatible
lisps, and (my sense is that) the various CL implementations work
together better now than they did five years ago.


Eh.  Everyone else has probably answered this question already.

-jd


More information about the cl-faq mailing list