Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Why I can't use Lisp.

Newsgroups: comp.lang.lisp
Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!uunet!sea.uu.net!ash.uu.net!world!news
From: Kent M Pitman <pit...@world.std.com>
Subject: Re: Why I can't use Lisp.
Message-ID: <sfwfzxux8tv.fsf@shell01.TheWorld.com>
Sender: pit...@shell01.TheWorld.com
Date: Mon, 5 Aug 2002 03:50:36 GMT
References: <b295356a.0208011247.562f2f26@posting.google.com> <tp9lku80o054hebl04raid9oqm4i13ftfj@4ax.com> <871y9fj54f.fsf@meo-dipt.andreas.org> <aihgsq$n3a$1@luna.vcn.bc.ca> <87k7n7gci6.fsf@meo-dipt.andreas.org> <oelznw2uble.fsf@vanilla.rz.fhtw-berlin.de> <aijkeg$in7$3@luna.vcn.bc.ca> <u8z3mhyrh.fsf@dtpq.com>
NNTP-Posting-Host: shell01.theworld.com
Organization: My ISP can pay me if they want an ad here.
X-Newsreader: Gnus v5.7/Emacs 20.7
Lines: 63

cst...@dtpq.com (Christopher C. Stacy) writes:

> >>>>> On Sun, 4 Aug 2002 16:23:44 +0000 (UTC), Kaz Kylheku ("Kaz") writes:
>  Kaz> It doesn't matter what Dylan supports or not; even if it has the
>  Kaz> semantic equivalent of every Lisp feature, it's still not Lisp.
> 
> Does Dylan have symbols?

Depends on what you mean by symbols.

Do you mean a datatype called symbol? Sure.

But then, there are languages that have an integer data type that we don't
think of as having "integers".

For sake of argument, I'll here claim Dylan doesn't have symbols.  Not that
there isn't another possible point of view, and I fully expect someone to
raise it in response--but just to say I'm comfortable having that exchange.
Here's my claim:

To me, symbols have (at least) two parts:

 - they are interned, canonical strings
      [dylan has this, and so does java--java calls them 
       canonical strings, I think--it's been a while since i checked]

 - they are not not mired in syntax.

I'll be further provocative by alleging that, to me, let's ay "in my heart",
X is a symbol if and only if X can be used unadorned as a name in data
and code.

(So, in my mind, symbols like |THIS IS A SYMBOL| are allowed in the datatype 
symbol but emotionally, in my heart, they are "cheating" and are not what
symbol processing is really about... they're just an accomodation to
practicality.  I'm not saying symbol operations won't work on them, I'm
just saying that they don't represent the spirit of what symbol processing
was about--more like an exception that was patchily added afterward to 
accomodate cases never really intended origionally.)

Dylan uses the notation #"foo" for what lisp would call foo.
To me, this is just not a symbol.  I strongly believe that had this been
the notation of symbols, important programs like Eliza and Macsyma would
have risked never having been written (or would have looked very different).

Processors that are supposed to take
 '(I AM NOT FEELING WELL TODAY)
as an argument but have to take
 #{#"I", #"AM", #"NOT", #"FEELING", #"WELL", #"TODAY"}
are just not, to me offering the same capability.

Processors that should take
 '(+ x (- y 3))
but instead take
 #{#"+", #"x", #{#"-", "y", 3}}
are again missing the point.

That small degree of willful failure to do user engineering means that 
interactive experimentation is virtually ruled out.  IMO, no one is going
to find it "fun" to simply sit around and try things.  And so a great deal
of accidental discovery will be lost... or, so I claim.

JMO. YMMV.