begin  quoting Steven E. Harris as of Wed, Feb 02, 2005 at 12:20:52PM -0800:
> [I hope I got the attribution correct.]
> 
> On Wed, Feb 02, 2005 at 10:23:43AM -0800, Stewart Stremler wrote:
> 
> > I'd grant a single data structure centric approach (in LISP,
> > everything is a list, in Python, everything is a Hashtable)
> 
> I don't know what "LISP" is,

The kinds of languages that are considered "Lisp-like", one might presume.

>                              but in Common Lisp there is no single

I've only played with "small" lisp variants, not the huge monsters
like Common Lisp.  CL strikes me as the PL/I of the functional 
programming world -- is this actually so?

> data structure. There is the cons cell, and there are singly-linked
> lists made up of cons cells, but these are only the most minimal
> structures available.

Are there any Lisps/LISPs/lisps/whatnot that _don't_ have at least
that structure?

And "cons cells" are what I was trying to express (poorly) as the
basic data structure.  Thanks for the clarification!

>                       Various built-in functions know how to operate
> on such cons-based lists or trees, but there are also "sequence"
> abstractions and various iteration schemes to take advantage of them.

Yup. This bit seems to be amplification, but the next bit...
 
> As one would expect, Common Lisp supplies vectors, arrays, hash
> tables, strings, structures, classes, and, with library support, just
> about any other data structure one can imagine.
 
Aren't they all built out of cons-cells?  Or it's just that they *can*
be?

> You can carry on dismissing Lisp for whatever reasons you invent
> rather than research, but don't let lack of data structures be one of
> them.

You are getting confused; I was not dismissing Lisp because it's built --
or some dialects of it anyway -- from a basic, simple, elegant data-structure.
That is, rather, a strength of that language family.

I was trying to define what I see to be the defining feature of Lisp-like
languages, namely, that the cons-cell / list is the key abstraction upon
which the language is built.  This is amazingly elegant and powerful. A
feature of Common Lisp that isn't in Scheme is not a feature of Lisp, but
only of Common Lisp.

When I dismiss Lisp-like languages, it is because the language is utterly
insane, and the advocates are wont to take credit for absolutely everything
useful in computer science, and fail to claim that FORTRAN is lisp-like
due only to the distressing fact that FORTRAN came first.

I think that the family of Lisp/lisp/LISP languages are an important
family, and that those languages demonstrated a number of useful generic 
concepts (and not so useful concepts as well).   I acknowledge that the
Lisp languages are Turing Complete, and so anything that can be done in
any arbitrary language can be done in Lisp.

However, since you appear to be an expert in Common Lisp, perhaps you
can answer a question that has just popped into my mind -- is Common
Lisp an image-based language?

-Stewart "Like most Forths and Smalltalks are image-based" Stremler
-- 

KPLUG-List mailing list
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to