From: Carl L. Gay
Subject: Re: ANSI CLISP: strengths vs. weaknesses?
Date: 
Message-ID: <CGAY.96Oct10105441@ix.cs.uoregon.edu>
   From: ยทยทยทยท@teleport.com (Brett)
   Newsgroups: comp.lang.lisp
   Date: 9 Oct 1996 11:34:41 GMT

   As a programmer in various other languages (procedural), but a recent LISP
   onlooker, I am now considering LISP more seriously. And I am curious to
   know what other professionals see as the greatest weaknesses of LISP
   (various dialects). I see a lot about its advantages, but wish to peer
   deeper into this language. 

   Is the code easily readable - code of others, esp? Or does it suffer from 
   problems similar to c's readability? Is it easily packaged into modules 
   of some sort? 

I don't think anyone has answered your last question.

From the chapter on packages in Common Lisp the Language, 2nd edition,
on the web at http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html :

"One problem with earlier Lisp systems is the use of a single name
space for all symbols. In large Lisp systems, with modules written by
many different programmers, accidental name collisions become a
serious problem. Common Lisp addresses this problem through the
package system [...]. In addition to preventing name-space conflicts,
the package system makes the modular structure of large Lisp systems
more explicit."

The programmer can specify which symbols in a package are external
(i.e., should be accessed by code in other packages) or internal
(i.e., shouldn't be), but other programmers are free to violate those
defined interfaces since the language doesn't enforce them.  I guess
one could say the lack of bondage in Lisp requires a certain amount of
discipline from the programmer.