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
I don't understand Lisp
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 26 - 50 of 151 - Collapse all  -  Translate all to Translated (View all originals) < Older  Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Klaus Schilling  
View profile  
 More options Sep 14 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Klaus Schilling <Klaus.Schill...@home.ivm.de>
Date: 1998/09/14
Subject: Re: I don't understand Lisp
trash...@david-steuber.com (David Steuber "The Interloper") writes:

> This brings up another question.  It seems that Lisp is not case
> sensitive.  How many people would be upset if a Lisp implementation
> came out that was case sensitive?  It sure makes string comparison
> easier.  This is just my view from a C++ background.

A problem caused by c-insensitivity mentioned in R*RS is the string-symbol
conversion.
Guile scheme is case sensitive by default (it can be turned off optionally.).

Klaus Schilling


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Rob Warnock  
View profile  
 More options Sep 14 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: r...@rigden.engr.sgi.com (Rob Warnock)
Date: 1998/09/14
Subject: Re: I don't understand Lisp
Jeffrey Mark Siskind  <Q...@research.nj.nec.com> wrote:
+---------------
| > but in practice I don't know of a single Scheme implementation
| > that does *NOT* use the same lexer for the user-visible READ procedure and
| > the reader buried in the LOAD procedure and the top-level REPL.
|
| Stalin uses different code to implement READ and to read in the sourc
| program. When the source program is read in, the reader keeps track of
| source file name, line, and character positions to include in error messages.
+---------------

Yes, well, o.k., I misspoke (or perhaps wasn't specific enough).  Yes, I
know of other Scheme readers (well, at least one) which annotate the source
similarly (e.g., the one in the Rice PLT group's "MrSpidey"). But what I was
referring to is that the user-visible READ *does* accept all legal source
programs, so that Erik's distinction between "prgrams defined by lexical
rules" and "programs defined by S-exprs" is, for all practical purposes, moot.

Now it is certainly the case that one could make a *mistake* in defining a
Lisp (or Scheme) by its lexical representation in such a way that there was
*not* a guarantee of equivalency, but I also suspect that most participants
in this group would consider such a definition badly broken (if only because
of the negative implications on macros).

+---------------
| READ does not do this. In fact, the source program reader doesn't produce
| a typical S expression. Rather it produces a structure of type S-EXPRESSION
| which includes the encapsulated file, line, and character position.
+---------------

Call me naive, but I don't see how this affects the issue... unless there
are files which Stalin [or some other Lisp or Scheme] will accept as programs
which its READ *won't* accept when a user program tries to read them (e.g.,
say, allowing allows "#+<sym>" or "#.<exp>" in "programs" but not in files
parsed with READ). And if there are, I'd call it broken.

-Rob

[p.s. Apologies in advance: Replies to this via email may get a
"vacation" bounce messages while I'm on sabbatical from SGI...]

-----
Rob Warnock, 8L-855             r...@sgi.com
Applied Networking              http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.          Phone: 650-933-1673
2011 N. Shoreline Blvd.         FAX: 650-964-0811
Mountain View, CA  94043        PP-ASEL-IA


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dimitrios Souflis  
View profile  
 More options Sep 14 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Dimitrios Souflis <dsouf...@altera.gr>
Date: 1998/09/14
Subject: Re: I don't understand Lisp

pfei...@jmu.edu wrote:

> Dimitrios Souflis wrote:

> > It's a single C module around 4000 kloc,
> > but near-R5RS Scheme nevertheless.

> Do you mean to say 4 MLOC, or 4 KLOC or what?  Just wondering.

You are right in wondering... It is 4 kloc, or else it would be
MegaScheme ;-)

More precicely it is 4110 loc (.c+.h), which is either 4.1 kloc
or 4.0 kloc, depending on whether you use "kilo" for "thousand"
or 2^10=1024.

--
Dimitrios Souflis                dsouf...@altera.gr
Altera Ltd.                      http://www.altera.gr/dsouflis

*** Reality is what refuses to disappear when you stop believing
*** in it (VALIS, Philip K. Dick)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Sep 14 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <cle...@naggum.no>
Date: 1998/09/14
Subject: Re: I don't understand Lisp
* trash...@david-steuber.com (David Steuber "The Interloper")
| Does this mean that while CL can read CL and eval it, Scheme can not
| read Scheme and eval it?

  well, no, it means that you need a whole different machinery to read
  Common Lisp than you need to read Scheme.  Scheme was designed in the
  fashion of static grammars, and people frequently implement the reader in
  some other language.  Common Lisp's reader is best written in Common Lisp
  -- it dispatches on characters according to a table, the READTABLE, and
  call out to functions that assemble the various types of objects.  this
  is overkill per excellence for Scheme.  also, Scheme's grammar is defined
  so that (foo 1 2 . ()) is different from (foo 1 2), although the Scheme
  reader cannot detect this difference.  therefore, you will not catch very
  important errors if you use the naive approach to Scheme.  (no, I'm not
  talking in the "standards purist" mode -- Scheme is deliberately designed
  this way, and second-guessing designers is a Bad Thing.  of course, it
  was a gross and very annoying mistake, but the designers should fix that,
  not users.)

| I was under the impression that Scheme was a dialect of Lisp.  From what
| you say, Scmeme is a whole other language (like JavaScript isn't Java).

  Scheme is not a dialect of Common Lisp.  the common heritage, if any, is
  so old and so far removed from today's reality that we're almost talking
  about a missing link.  Scheme owes more to Algol than to Lisp, in my
  view, just like Java owes more to Smalltalk than to C++.  the syntactic
  similarity is irrelevant for meaningful comparisons.  Scheme adherents
  want to tell you Scheme is a dialect of Lisp, but I don't get it.  what
  do _they_ get from confusing people like that?  is it a hope for a piece
  of the market that Common Lisp has created?  some Lispers (well, at least
  one, but he's also a Schemer) will insist very strongly that Common Lisp
  is not the only Lisp to consider.  the only merit of this latter attitude
  is that it makes the Scheme wish come true, but there aren't as many
  Lisps as there used to be 10-15 years ago.  if you spend your time
  learning any other Lisp these days, I'd say you're wasting your time
  unless, of course, the Lisp is an embedded Lisp in some product you need
  to use.  (this includes the sadly deficient Emacs Lisp.)

| This brings up another question.  It seems that Lisp is not case
| sensitive.

  well, I can't speak for "Lisp" in the sense that it is something that
  Scheme is (also) a dialect of, but Common Lisp is certainly case
  sensitive.  symbols in the COMMON-LISP package are all uppercase, but you
  would normally set *PRINT-CASE* to :DOWNCASE and (readtable-case
  *readtable*) to :UPCASE, so you could read and write them in lowercase.
  both |lowercase| and \l\o\w\e\r\c\a\s\e all have lowercase symbol names,
  so it's not like you cannot get it.  also, to maintain backward
  compatibility, you can set the readtable-case to :INVERT, which upcases
  all-lowercase symbol names and downcases all-uppercase symbol names (not
  counting characters escaped with | or \).

| How many people would be upset if a Lisp implementation came out that was
| case sensitive?

  if you make the reader preserve case, many would object to having to
  write symbol names in all uppercase.  if you invert the case of all the
  symbol names, you create a new dialect that doesn't talk to other Common
  Lisp implementations.  amazingly, there is no standard function to do
  case conversion the way the symbol reader and printer does it, so you
  have to call out to the reader or printer to get that behavior.

  case is a personal preference in my view, and Common Lisp has done the
  right thing in allowing each programmer the ability to choose his own
  style.  and it's not like it's a hard thing to change.

| It sure makes string comparison easier.

  what does?  case sensitivity or case insensitivity?  I think the latter
  is strongly preferable when dealing with protocol or user input.  btw,
  STRING= is case sensitive, while STRING-EQUAL is case insensitive.

#:Erik
--
  http://www.naggum.no/spam.html is about my spam protection scheme and how
  to guarantee that you reach me.  in brief: if you reply to a news article
  of mine, be sure to include an In-Reply-To or References header with the
  message-ID of that message in it.  otherwise, you need to read that page.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Barry Margolin  
View profile  
 More options Sep 14 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Barry Margolin <bar...@bbnplanet.com>
Date: 1998/09/14
Subject: Re: I don't understand Lisp
In article <36047e88.439933...@news.newsguy.com>,
David Steuber "The Interloper" <trash...@david-steuber.com> wrote:

>This brings up another question.  It seems that Lisp is not case
>sensitive.  How many people would be upset if a Lisp implementation
>came out that was case sensitive?

Others have corrected your misunderstanding about Common Lisp's case
sensitivity (it's case sensitive internally, but canonicalizes case of
symbols on input by default).  But to answer your second question, the
difference in how the reader processed the case of input never seemed to
hurt the popularity of Franz Lisp or Emacs Lisp, which both have
case-preserving readers (Franz's may have been configurable as well, but
if so the default was to preserve).

--
Barry Margolin, bar...@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kent M Pitman  
View profile  
 More options Sep 14 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: 1998/09/14
Subject: Re: I don't understand Lisp

Barry Margolin <bar...@bbnplanet.com> writes:
> But to answer your second question, the
> difference in how the reader processed the case of input never seemed to
> hurt the popularity of Franz Lisp or Emacs Lisp, which both have
> case-preserving readers (Franz's may have been configurable as well, but
> if so the default was to preserve).

First, let's be clear: a case-preserving reader is nonconforming.
Programs which don't do anything tricky don't notice this
nonconformance, but programs that do will notice this nonconformance.
As with the Clinton situation (where some are blaming the rulemakers
and some are blaming the rulebreakers), so goes the situation with
this readtable issue.  Some will blame the language designers and some
will blame the implementors who don't implement the designed language.
Hmm.  I guess I've accidentally compared Clinton to Franz.  That wasn't
really intentional, but now I'm left with an ethical dilemma between
apologizing for it and asking Harlequin if that's bonus-worthy.
Maybe I should take a poll.  (No, just kidding.  My mailbox is still
not clear of all the dozen or two e-mails that people sent telling me
the proper citation for "grok".  Please no followup on my bad use of
metaphor.)

Anyway, what I started out to say was that (as anyone who's done
prioritization of bug reports knows), "frequency" of problems (and
consequently of pain felt and reported by users) is a
multi-dimensional quantity.  Saying that something happens "a lot"
doesn't make clear what axis of this multi-dimensional quantity you're
saying has a high magnitude.  For example, I was once at Symbolics
when just before a major release, I found a bug in special binding of
lambda variables in a lambda combination (not just a lambda
expression; in an actual ((lambda ...)...).  "It's all packaged and
ready to ship," someone protested. "How frequently does the bug
happen?"  What was I to answer?  Every time anyone runs my code, I
told them.  But then, I don't know how often they do that.  Nor do I
know how many developers are like me.  So at minimum frequency is "how
often is code developed which exercises a given bug" along one axis vs
"how often is code containing the buggy code executed" along another
axsis vs "how often in the buggy code that's being executed is the
path reached which tickles the bug".  Maybe there are even more axes.
In the case in question, it just seemed embarrassing to have lambda
broken when you're a lisp machine company, so Symbolics fixed it.  But
oddly enough, hardly anyone then or now used lambda combinations at
all, even though they're retained in the language.  Most people use
LET instead.  And of those, VERY few use specials in the binding
list because it's mostly classical programmers and scheme programmers
who like lambda combinations, and they all hate specials.  So really
the bug was not likely to occur at all.  Except when it did.  And
then always.  So it goes.

Why does all this matter?  Well, I guess I'm just trying to point out
that while what Barry said is probably true--that it probably hasn't
materially hurt Franz's implementation in the market, it doesn't follow
that it doesn't cause individuals grief.  I bet it probably has, though
I have no stats to back me up.   And I just feel a little bad for
the people who do get hit by this that they ALSO find people implying
it's a matter of no consequence.   To the people it happens to, it is
of consequence.  Whether it's of consequence to the world that it's of
consequence to these people--well, there's an open question.

Emacs on the other hand is another story.  Emacs is not part of any
standard and since the design choice is entirely arbitrary, I
absolutely agree with Barry that it can't hurt really either way.
The important thing is just that it's defined.

The problem in the CL case is that it's defined a certain way and
(to my understanding) Franz doesn't follow the standard.

I hope Franz doesn't feel I'm picking on them here.  I don't try to
play any kind of marketing games here on comp.lang.lisp.  At
Harlequin, we're basically content to just beat them in the
marketplace.  In this forum I prefer a more collegiate atmosphere.  So
much choice of them as an example is just because Barry raised the
issue and because it's one I felt commentworthy.  Don't think I'm
telling you not to buy their products for the reasons I've cited
here.  (There are plenty of other reasons I'd rather you use.
... heh ... sorry, couldn't resist.)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Duane Rettig  
View profile  
 More options Sep 14 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Duane Rettig <du...@franz.com>
Date: 1998/09/14
Subject: Re: I don't understand Lisp
Kent M Pitman <pit...@world.std.com> writes:

> Barry Margolin <bar...@bbnplanet.com> writes:

> > But to answer your second question, the
> > difference in how the reader processed the case of input never seemed to
> > hurt the popularity of Franz Lisp or Emacs Lisp, which both have
> > case-preserving readers (Franz's may have been configurable as well, but
> > if so the default was to preserve).

> First, let's be clear: a case-preserving reader is nonconforming.
> Programs which don't do anything tricky don't notice this
> nonconformance, but programs that do will notice this nonconformance.

Conforming to what standard?  Common Lisp?  Neither of the lisps
mentioned above are Common Lisps.

--
Duane Rettig          Franz Inc.            http://www.franz.com/ (www)
1995 University Ave Suite 275  Berkeley, CA 94704
Phone: (510) 548-3600; FAX: (510) 548-8253   du...@Franz.COM (internet)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Sep 15 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <cle...@naggum.no>
Date: 1998/09/15
Subject: Re: I don't understand Lisp
* Kent M Pitman <pit...@world.std.com>
| The problem in the CL case is that it's defined a certain way and
| (to my understanding) Franz doesn't follow the standard.

  well, they do now.  although it doesn't appear they have forgiven me
  completely for all the noise I made about it, ACL 5.0 does come with a
  very significantly improved symbol reader and printer -- they both now
  respect every relevant printer variable and print-read consistency is
  maintained in all cases, which was not the case previously.  I rolled my
  own symbol reader and printer for ACL 4.3 because I got sufficiently
  annoyed by the broken implementation then, but I'm happy to say that
  that's history.

  src.naggum.no/lisp/symbol-printer.cl (HTTP or FTP) has the code for ACL
  4.3+, if anyone's interested.  it's _very_ heavily optimized.

#:Erik
--
  http://www.naggum.no/spam.html is about my spam protection scheme and how
  to guarantee that you reach me.  in brief: if you reply to a news article
  of mine, be sure to include an In-Reply-To or References header with the
  message-ID of that message in it.  otherwise, you need to read that page.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kent M Pitman  
View profile  
 More options Sep 15 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: 1998/09/15
Subject: Re: I don't understand Lisp

Oh, he meant THAT Franz lisp.  I know the dialect, but I assumed
he was referring to Allegro.  Yes, I agree.  non-CL's dont have
a conformance issue.

As to Allegro, I've heard tell it uses lowercase symbol names, which
would be a potential cause of portability problems, but I have no way
of confirming this because I don't have access to your/Franz's
products.  If you'd like to correct my notion (and set the record
generally straight for others), I'd certainly welcome that.  I'd
rather work with accurate info.

Of course, as I thought I (perhaps clumsily) mentioned, my prior
remarks were not aimed at Franz at all even though it was them I was
using as an example.  It was just the example I (perhaps mistakenly)
thought was on the table when I went to react to and extend the
other comments on the subject.\

(Sorry about all the Clinton comparisons, too, btw.  I compared
several other unrelated things to Clinton at dinner tonight and
realized this whole US government political nightmare, about which
I've been commenting in other online [non-newsgroup] forums is really
getting to me...)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Duane Rettig  
View profile  
 More options Sep 15 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Duane Rettig <du...@franz.com>
Date: 1998/09/15
Subject: Re: I don't understand Lisp
Kent M Pitman <pit...@world.std.com> writes:

> Oh, he meant THAT Franz lisp.  I know the dialect, but I assumed
> he was referring to Allegro.  Yes, I agree.  non-CL's dont have
> a conformance issue.

> As to Allegro, I've heard tell it uses lowercase symbol names, which
> would be a potential cause of portability problems,

No, Allegro has two modes of operation that can be switched on
the fly.  In the Common Lisp mode, symbol names are read and stored
as required in the Common Lisp spec (which may include lower case
symbols if they are escaped).  Also, as Erik mentioned, we have had
some bugs in some of the readtable operations regarding downcasing,
*print-escape*, etc, and have finally fixed them as of 5.0.

> but I have no way
> of confirming this because I don't have access to your/Franz's
> products.  If you'd like to correct my notion (and set the record
> generally straight for others), I'd certainly welcome that.  I'd
> rather work with accurate info.

Sure; the linux version is freely available at our website and is
representative of (i.e. the same as) what you would get if you
were a customer (without the support) ...

> Of course, as I thought I (perhaps clumsily) mentioned, my prior
> remarks were not aimed at Franz at all even though it was them I was
> using as an example.  It was just the example I (perhaps mistakenly)
> thought was on the table when I went to react to and extend the
> other comments on the subject.\

> (Sorry about all the Clinton comparisons, too, btw.  I compared
> several other unrelated things to Clinton at dinner tonight and
> realized this whole US government political nightmare, about which
> I've been commenting in other online [non-newsgroup] forums is really
> getting to me...)

OK, no problem; perhaps we all have a little Clinton in us (did I just
say that?....)

--
Duane Rettig          Franz Inc.            http://www.franz.com/ (www)
1995 University Ave Suite 275  Berkeley, CA 94704
Phone: (510) 548-3600; FAX: (510) 548-8253   du...@Franz.COM (internet)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kent M Pitman  
View profile  
 More options Sep 15 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: 1998/09/15
Subject: Re: I don't understand Lisp

Duane Rettig <du...@franz.com> writes:
> Sure; the linux version is freely available at our website and is
> representative of (i.e. the same as) what you would get if you
> were a customer (without the support) ...

Ah, you want me to run a 5th operating system on the computers in my
office.  I agree that's -possible-....

> OK, no problem; perhaps we all have a little Clinton in us (did I just
> say that?....)

No, no.  You're supposed to say: "The apology wasn't good enough.
Try again." ;-)  But maybe you shouldn't.  It could start a very
dark spiral that spends $40M the industry could better use on other
things.

Error: End of subthread reached.
       You may continue by reading or replying to an unrelated post.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Barry Margolin  
View profile  
 More options Sep 15 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Barry Margolin <bar...@bbnplanet.com>
Date: 1998/09/15
Subject: Re: I don't understand Lisp
In article <sfwiuiqee42....@world.std.com>,
Kent M Pitman  <pit...@world.std.com> wrote:

>Barry Margolin <bar...@bbnplanet.com> writes:

>> But to answer your second question, the
>> difference in how the reader processed the case of input never seemed to
>> hurt the popularity of Franz Lisp or Emacs Lisp, which both have
>> case-preserving readers (Franz's may have been configurable as well, but
>> if so the default was to preserve).

>First, let's be clear: a case-preserving reader is nonconforming.

I was answering a question that I thought was about Lisp, not Common Lisp.
So I gave some examples of well-known Lisp dialects that are
case-preserving.  I had initially started to include Multics Maclisp, which
perhaps would have made it really clear to you what I was doing, but I felt
that would be too obscure for most readers.

Others have already clarified that I was not referring to Allegro CL when I
said Franz Lisp (Kent, did you really think that *I* would be so
imprecise?).

>The problem in the CL case is that it's defined a certain way and
>(to my understanding) Franz doesn't follow the standard.

The case control features of the CL reader were added at the request of
Franz, Inc.  IIRC, they were case-preserving by default (probably as a
result of their Franz Lisp heritage), but this was under control of
proprietary variables that could be changed to conform to the CL way.  By
the time the ANSI standard came out I expect they changed the default and
switched over to the standard configuration mechanism (*PRINT-CASE* and
READTABLE-CASE).

--
Barry Margolin, bar...@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jeff Dalton  
View profile  
 More options Sep 16 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Jeff Dalton <j...@gairsay.aiai.ed.ac.uk>
Date: 1998/09/16
Subject: Re: I don't understand Lisp

Erik Naggum <cle...@naggum.no> writes:
>   Scheme is not a dialect of Common Lisp.  the common heritage, if any, is
>   so old and so far removed from today's reality that we're almost talking
>   about a missing link.  Scheme owes more to Algol than to Lisp, in my
>   view, just like Java owes more to Smalltalk than to C++.  the syntactic
>   similarity is irrelevant for meaningful comparisons.  Scheme adherents
>   want to tell you Scheme is a dialect of Lisp, but I don't get it.

Did you mean to say "Scheme is not a dialect of Lisp" rather
than "not a dialect of Common Lisp"?  In any case, it's unlikely
that anyone has ever claimed Scheme was a dialect of Common Lisp.

>   what
>   do _they_ get from confusing people like that?  is it a hope for a piece
>   of the market that Common Lisp has created?  some Lispers (well, at least
>   one, but he's also a Schemer) will insist very strongly that Common Lisp
>   is not the only Lisp to consider.

Well, I'll certainly insist that Common Lisp is not the only Lisp.

Even if Common Lisp were the only important Lisp today, there would
still be Lisp's history.  Lisp, like Madonna, turns 40 this year.
(I'm assuming the anniversary conference is in the right year
rather than properly checking, though).

The phrase "dialect of Lisp" has been used for many years, and
"dialect of Lisp" was taken to be a fairly broad category.
It was natural to speak of Scheme as a dialect of Lisp, and
one even finds sub-varieties of Scheme (such as T) referred
to as "dialects of Lisp".

That's the way people in the Lisp world talked (and they still do,
though not quite so much as before).  What did they mean by "dialect
of Lisp"?  One way to find out is to look at how that phrase was used
and hence at what things were said to be dialects of Lisp.  If we do
that, then it seems pretty clear that, as a matter of usage, Scheme is
a "dialect of Lisp".

But that way to talking about Lisp can mislead, and it even
became somewhat dangerous once standardisation began, because
some people claimed Lisp was just one language (albeit with
dialects) and so should have only one standard.

The US position in the ISO WG was that Lisp was a family of
languages, and I believe that position was correct.  And so
(the argument went) there should not be a standard for "Lisp"
but only for specific Lisp-family languages.  John McCarthy
said he would denounce any standard for "Lisp".

An observation that goes back to at least the 70s is that
so-called dialects of Lisp could be as different from each other
as different languages in (say) the Algol family.  That's one
reason why "dialect of Lisp" can mislead.  Another problem
with "dialect" is that dialects tend not to be taken as
seriously as languages, as in the quote about a language
being a dialect with an army.

So, all things considered, the "dialect of Lisp" way of talking
is probably more trouble than it's worth.

-- jd


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Sep 16 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.no>
Date: 1998/09/16
Subject: Re: I don't understand Lisp
* Jeff Dalton <j...@gairsay.aiai.ed.ac.uk>
| Did you mean to say "Scheme is not a dialect of Lisp" rather than "not a
| dialect of Common Lisp"?  In any case, it's unlikely that anyone has ever
| claimed Scheme was a dialect of Common Lisp.

  but what _is_ the Lisp that both Scheme and Common Lisp are dialects of?
  if there is no such thing (and I don't think there is, anymore, although
  there might well have been in the distant past), then it is not useful to
  talk about it.  "dialect" is not a mark of independent quality in my view
  and there's a weird interaction between "dialect of Lisp" and the effect
  the mark has on various languages that claim it: one language may try to
  capitalize on the work of another ("we're _all_ dialects"), yet it may be
  used to reduce the value of the work of another at the same time ("we're
  all _merely_ dialects").

* Erik Naggum <e...@naggum.no>
| some Lispers (well, at least one, but he's also a Schemer) will insist
| very strongly that Common Lisp is not the only Lisp to consider.

* Jeff Dalton <j...@gairsay.aiai.ed.ac.uk>
| Well, I'll certainly insist that Common Lisp is not the only Lisp.

  the two words "to consider" is essential to what I wrote above.  I know
  that you go ballistic every time somebody forgets to mention the myriads
  of other Lisps that you want us to remember, and that's why I attempted
  to be very specific.  I'm annoyed that you appear to continue unimpeded
  with your standard rhetoric.

| So, all things considered, the "dialect of Lisp" way of talking is
| probably more trouble than it's worth.

  I agree, including your argumentation.

#:Erik
--
  http://www.naggum.no/spam.html is about my spam protection scheme and how
  to guarantee that you reach me.  in brief: if you reply to a news article
  of mine, be sure to include an In-Reply-To or References header with the
  message-ID of that message in it.  otherwise, you need to read that page.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Martin Rodgers  
View profile  
 More options Sep 16 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: m...@wildcard.butterfly.demon.co.uk (Martin Rodgers)
Date: 1998/09/16
Subject: Re: I don't understand Lisp
In article <x24su8esh5....@gairsay.aiai.ed.ac.uk>,
j...@gairsay.aiai.ed.ac.uk says...

> The phrase "dialect of Lisp" has been used for many years, and
> "dialect of Lisp" was taken to be a fairly broad category.
> It was natural to speak of Scheme as a dialect of Lisp, and
> one even finds sub-varieties of Scheme (such as T) referred
> to as "dialects of Lisp".

I was reading about Lisp for years before I discovered Common Lisp (in
the mid 80s, FWIW), so I associate the name "Lisp" with a language or set
of languages that predates Common Lisp. The first Lisp book I read used
MacLisp, but the first Lisp code I remember reading (in Byte) was for a
very small dialect that ran on a 16K TRS-80.

So I'm rather bemused by all this fuss.

> So, all things considered, the "dialect of Lisp" way of talking
> is probably more trouble than it's worth.

A good point well put.
--
Remove insect from address to email me | You can never browse enough
"Ahh, aren't they cute" -- Anne Diamond describing drowning dolphins

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Barry Margolin  
View profile  
 More options Sep 16 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Barry Margolin <bar...@bbnplanet.com>
Date: 1998/09/16
Subject: Re: I don't understand Lisp
In article <x24su8esh5....@gairsay.aiai.ed.ac.uk>,
Jeff Dalton  <j...@gairsay.aiai.ed.ac.uk> wrote:

>So, all things considered, the "dialect of Lisp" way of talking
>is probably more trouble than it's worth.

It may be like what a US Supreme Court justice said about obscenity: I
can't define it, but I know it when I see it.

I remember that there was a debate at one of the first Lisp Users and
Vendors conferences (perhaps the first one after the Symbolics Lisp Users
Group morphed into the Association of Lisp Users) about whether Dylan
should be considered a dialect of Lisp, even though they were abandoning
parentheses.

Not that anyone likely cares, but Perl (Perl 5, in particular, since almost
everything is first-class) comes pretty close to being a dialect of Lisp,
IMHO.

--
Barry Margolin, bar...@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Barry Margolin  
View profile  
 More options Sep 16 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Barry Margolin <bar...@bbnplanet.com>
Date: 1998/09/16
Subject: Re: I don't understand Lisp
In article <3114949049958...@naggum.no>, Erik Naggum  <e...@naggum.no> wrote:

>  but what _is_ the Lisp that both Scheme and Common Lisp are dialects of?

What is the English that both Cockney and American English are dialects of?
If you don't like the "dialect of X" terminology, then perhaps "member of
the X family" would be better, but in my mind they mean the same thing.
There's definitely some quality of Lispiness that Scheme, Common Lisp,
Emacs Lisp, Maclisp, and Dylan all share.  Like the quote someone posted
about the dictionary definition of "dog", there's no hard-and-fast set of
required qualities that a Lisp must satisfy, but if you put enough features
together you get something that most of us would agree is a Lisp.

--
Barry Margolin, bar...@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mike McDonald  
View profile  
 More options Sep 16 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: mike...@teleport.com (Mike McDonald)
Date: 1998/09/16
Subject: Re: I don't understand Lisp
In article <s5XL1.69$yt.1485...@burlma1-snr1.gtei.net>,
        Barry Margolin <bar...@bbnplanet.com> writes:

> In article <3114949049958...@naggum.no>, Erik Naggum  <e...@naggum.no> wrote:
>>  but what _is_ the Lisp that both Scheme and Common Lisp are dialects of?

> What is the English that both Cockney and American English are dialects of?
> If you don't like the "dialect of X" terminology, then perhaps "member of
> the X family" would be better, but in my mind they mean the same thing.
> There's definitely some quality of Lispiness that Scheme, Common Lisp,
> Emacs Lisp, Maclisp, and Dylan all share.  Like the quote someone posted
> about the dictionary definition of "dog", there's no hard-and-fast set of
> required qualities that a Lisp must satisfy, but if you put enough features
> together you get something that most of us would agree is a Lisp.

  Dylan? I keep seeing people include Dylan in the list of "lisp languages".
Heck, Dylan doesn't even have Lots of Irritating Surpurfelous Parentheses.
What qualifies Dylan as a lisp? If you include it, why not Smalltalk? If you
include Smalltalk, why not C++?

  Mike McDonald
  mike...@mikemac.com


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Klaus Schilling  
View profile  
 More options Sep 17 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Klaus Schilling <Klaus.Schill...@home.ivm.de>
Date: 1998/09/17
Subject: Re: I don't understand Lisp

List processing is central in Dylan, but a tedious thing to do in C++. Thus
Dylan belongs to the Lisp clan, unlike C++. The syntax is just a shell.
List processing is the vital core of Lisp, so any language that is critically
based on list manipulation is a Lisp dialect. In C++ one needs templates and
similar advanced bloat stuff to get somewhere near that point. Let alone
functions as first-class objects, lambda calculus and the like which is all
alien to C++.  

Klaus Schilling


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Sep 17 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.no>
Date: 1998/09/17
Subject: Re: I don't understand Lisp
* Barry Margolin <bar...@bbnplanet.com>
| Not that anyone likely cares, but Perl (Perl 5, in particular, since almost
| everything is first-class) comes pretty close to being a dialect of Lisp,
| IMHO.

  that's pretty amusing, considering Larry Wall's explicit hatred for Lisp.

#:Erik
--
  those who do not know Lisp are doomed to reinvent it


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Sep 17 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.no>
Date: 1998/09/17
Subject: Re: I don't understand Lisp
* Barry Margolin <bar...@bbnplanet.com>
| What is the English that both Cockney and American English are dialects of?

  assuming this was as rhetorical as it seems, why is "the King's/Queen's
  [British] English" the _obviously_ wrong answer?

| If you don't like the "dialect of X" terminology, then perhaps "member of
| the X family" would be better, but in my mind they mean the same thing.

  it seems to mean the same thing only when X = Lisp.  otherwise, it makes
  no sense at all to claim they are the same.  English is not a dialect of
  Germanic, but it is a member of the Germanic language family.  neither is
  English a dialect of Indo-European.

#:Erik
--
  ATTENTION, all abducting aliens!  you DON'T need to RETURN them!


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Pierre Mai  
View profile  
 More options Sep 17 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Pierre Mai <p...@acm.org>
Date: 1998/09/17
Subject: Re: I don't understand Lisp

Klaus Schilling <Klaus.Schill...@home.ivm.de> writes:
> > Heck, Dylan doesn't even have Lots of Irritating Surpurfelous Parentheses.
> > What qualifies Dylan as a lisp? If you include it, why not Smalltalk? If you
> > include Smalltalk, why not C++?

> List processing is central in Dylan, but a tedious thing to do in C++. Thus
> Dylan belongs to the Lisp clan, unlike C++. The syntax is just a shell.
> List processing is the vital core of Lisp, so any language that is critically
> based on list manipulation is a Lisp dialect. In C++ one needs templates and
> similar advanced bloat stuff to get somewhere near that point. Let alone
> functions as first-class objects, lambda calculus and the like which is all
> alien to C++.  

Although I'd put Dylan in the Lisp family of languages[1], I think
including everything that can handle lists efficiently (syntax- and
semantics- wise, that is) into the Lisp language family is going a bit
to far.  This would mean we'd have to include nearly all modern
functional programming languages (since list-comprehension monads are
arguably very powerful list manipulation constructs).

Although most of them were probably influenced by Lisp (especially Scheme),
I think they have gone a far way from being in the Lisp family, with their
static higher-order typing systems, lazy-evaluation, Monadic I/O systems,
even higher-order module systems.

I think the real family-membership-test of any language family is
looking at source-code produced for real-live programs in them.  If
you find a large overlap in idioms, then either the programmer was
programming "Fortran in Lisp"(TM), or the languages are indeed members
of the same language family.

Regs, Pierre.

Footnotes:
[1]  Remember also that Dylan at first _had_ prefix-syntax, and only
later on adopted a second, infix-like syntax, which was then adopted
as the primary, and finally only syntax.  But semantically, Dylan is
very nearly a "streamlined" CLOS, with integration of type/class
hierarchy, and a number of annotation possibilities to simplify the
compilers task of optimizing the whole thing ;)  (WARNING:
Oversimplification Alert!)  But in giving up on prefix-syntax, Dylan
has gone a step too far for me ;)

--
Pierre Mai <d...@cs.tu-berlin.de>     http://home.pages.de/~trillian/
  "Such is life." -- Fiona in "Four Weddings and a Funeral" (UK/1994)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Barry Margolin  
View profile  
 More options Sep 17 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Barry Margolin <bar...@bbnplanet.com>
Date: 1998/09/17
Subject: Re: I don't understand Lisp
In article <3115018001706...@naggum.no>, Erik Naggum  <e...@naggum.no> wrote:

>* Barry Margolin <bar...@bbnplanet.com>
>| Not that anyone likely cares, but Perl (Perl 5, in particular, since almost
>| everything is first-class) comes pretty close to being a dialect of Lisp,
>| IMHO.

>  that's pretty amusing, considering Larry Wall's explicit hatred for Lisp.

I didn't know about that.  What is it that he hates about it?  Presumably
not the lack of type declarations, the automatic memory management, nor the
ability to execute code generated on the fly (Perl has "eval").  Maybe the
references-based semantics (i.e. object pointers are implicit), since the
major semantic difference between Perl 5 and Lisp is the need to use
special syntax to create references to first-class objects.  Or maybe he
just doesn't like traditional Lisp syntax.

I think that the discovery that the Perl, Dylan, and Java folks hit on is
that if you can get around many people's irrational bias against Lisp's
heavily parenthesized syntax, they actually like most of the remaining
features, which just make programming easier.  Garbage collection was
probably just one of the many language features that has simply been
waiting for machine speeds to catch up -- none of the current generation of
new programmers remember the days when Lisp would hang for a minute or more
in GC, so they're not biased against this and enjoy not having to call
free().  I recall that when C++ first started gaining popularity, one of
the most frequent Usenet posts in its newsgroup was "where can I get a
class that implements garbage collection?", and soon classes that implement
reference counting or conservative GC were popping up right and left.
Similarly, draft ANSI C++'s STL is in the spirit of Common Lisp's sequence
functions, but goes even further in providing higher level data structures
(stacks, queues, sorted tables, etc.).

--
Barry Margolin, bar...@bbnplanet.com
GTE Internetworking, Powered by BBN, Burlington, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jeff Dalton  
View profile  
 More options Sep 17 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Jeff Dalton <j...@gairsay.aiai.ed.ac.uk>
Date: 1998/09/17
Subject: Re: I don't understand Lisp
Jeffrey Mark Siskind <q...@research.nj.nec.com> writes:

>   but in practice I don't know of a single Scheme implementation
> > that does *NOT* use the same lexer for the user-visible READ procedure and
> > the reader buried in the LOAD procedure and the top-level REPL.
> Stalin uses different code to implement READ and to read in the source
> program.  When the source program is read in, the reader keeps track of
> source file name, line, and character positions to include in error
> messages. READ does not do this. In fact, the source program reader
> doesn't produce a typical S expression. Rather it produces a structure
> of type S-EXPRESSION which includes the encapsulated file, line,
> and character position.

Just FYI, there's a debugging package for GCL that changes the
GCL (GNU Common Lisp, formerly [A]KCL) reader to do something
similar.  And then, when executing, it can show you where you
are in the source in an Emacs window.

-- jeff


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jeff Dalton  
View profile  
 More options Sep 17 1998, 3:00 am
Newsgroups: comp.lang.lisp
From: Jeff Dalton <j...@gairsay.aiai.ed.ac.uk>
Date: 1998/09/17
Subject: Re: I don't understand Lisp

Erik Naggum <e...@naggum.no> writes:
> * Jeff Dalton <j...@gairsay.aiai.ed.ac.uk>
> | Did you mean to say "Scheme is not a dialect of Lisp" rather than "not a
> | dialect of Common Lisp"?  In any case, it's unlikely that anyone has ever
> | claimed Scheme was a dialect of Common Lisp.

>   but what _is_ the Lisp that both Scheme and Common Lisp are dialects of?

You seem to be presupposing that Lisp, Scheme, and Common Lisp are
all on the same level.  Is that how it works for natural languages?
Would one ask "Where is the Chinese that Mandarin and Cantonese
are dialects of?" with similar rhetorical intent?

(If they are, indeed, considered dialects -- I have not checked this.)

I would have thought that a language was an abstraction relative to
its dialects.  All speakers would speak one dialect or another, even
if one dialect was considered more standard than the others.

In any case, I am not saying that "dialects of Lisp" is the right
way to describe these things, only that it is established usage.
One can still criticise it as using "dialect" in a nonstandard way,
if that's the case, or whatever.  But if someone says "___ is a
dialect of Lisp", and we want to know whether they've said something
true or false, we need to understand how they were using "dialect of
Lisp".

>   if there is no such thing (and I don't think there is, anymore, although
>   there might well have been in the distant past), then it is not useful to
>   talk about it.  "dialect" is not a mark of independent quality in my view
>   and there's a weird interaction between "dialect of Lisp" and the effect
>   the mark has on various languages that claim it: one language may try to
>   capitalize on the work of another ("we're _all_ dialects"), yet it may be
>   used to reduce the value of the work of another at the same time ("we're
>   all _merely_ dialects").

"Dialect of Lisp" has been, as still is, much used to refer to
languages in the Lisp family.  That way of talking has some serious
problems, which is one reason I think the "family of languages"
approach is better.  But since many people did, and still do, talk of
"dialects of Lisp", we may want to understand what they're saying.

At the same time, if we take "dialect of <language>" in a probably
more standard sense, then these languages are not "dialects of Lisp".
As many have noted for at least 20 years now, these so-called dialects
can be as different from each other as the things that are described
as different languages in, say, the Algol family; and the "different
languages" way of talking is at least less misleading (in addition to
whatever other advantages it might have).

> * Erik Naggum <e...@naggum.no>
> | some Lispers (well, at least one, but he's also a Schemer) will insist
> | very strongly that Common Lisp is not the only Lisp to consider.

> * Jeff Dalton <j...@gairsay.aiai.ed.ac.uk>
> | Well, I'll certainly insist that Common Lisp is not the only Lisp.

>   the two words "to consider" is essential to what I wrote above.  I know
>   that you go ballistic every time somebody forgets to mention the myriads
>   of other Lisps that you want us to remember, and that's why I attempted
>   to be very specific.  I'm annoyed that you appear to continue unimpeded
>   with your standard rhetoric.

Well, since it seems to matter to you, I'm happy to say Common Lisp is
not the only Lisp *to consider* too.

Anyway, Saying that Lisp is a family of languages has a number of
advantages over talking of "dialects of Lisp", and members of a
family can be very different from each other.

The other alternative that sometimes occurs is to use "Lisp" to mean
only Common Lisp.  I don't see anything wrong with that in contexts
where it will not be misunderstood: where it's clear that it's being
used just as a shorter way to refer to Common Lisp.

But I think it's a mistake to use "Lisp" in that way when it may be
misundrstood as referring to all of Lisp.  This matters especially
when "Lisp" is being criticised, as it all too often is.  It's fairly
common for people to say that "Lisp" is a too large a language, or
makes it too hard to deliver small applications, or has various other
problems.  But often these claims are not true of Lisp in general
(some Lisps are very small languages, a Lisp could make it easy to
deliver small applications, and so on), but only of certain particular
Lisps (maybe Common Lisp), or only of certain implementations.

Another case where I disagree is where someone seems to go further
than using "Lisp" as conveniently short for "Common Lisp" and say that
Common Lisp is the only Lisp, or that "Lisp" just *means* common Lisp
(and hence that there's either no Lisp family or else no other
member).

For in fact other Lisps do exist, a number of them are still being
used, and Lisps can be significantly different from Common Lisp.

-- jd


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 26 - 50 of 151 < Older  Newer >
« Back to Discussions « Newer topic     Older topic »