Subject: Re: First-class symbols (Re: Why is Scheme not a Lisp?)
From: Erik Naggum <>
Date: Sun, 17 Mar 2002 09:52:46 GMT
Newsgroups: comp.lang.lisp
Message-ID: <>

* Thomas Bushnell, BSG
| In Scheme, the thing that is missing here is not some kind of
| first-classness of the symbol, but rather, the first-classness of the
| environment.

  As seen from Common Lisp, symbols in Scheme are just like identifiers in
  the Algol family, but you also have a type for an interned string that
  has nothing to do with the identifiers.  These are really two different
  things.  Real Lisps have real symbols.

| Common Lisp has various public ways to access one special environment
| (the dynamic environment), and thus for special variables, there is a
| convenient and accessible mapping from the symbol name to its dynamic
| value.

  I wish you would at least _try_ to understand the Common Lisp way.

| It's not that these are impossible problems, but they are some of the
| reasons that there is great diversity of opinion about what the Right 
| Thing is, and Scheme generally only moves when all the players have
| agreed on the Right Thing.

  But looking for The Right Thing is not a Right Thing.  Part of the reason
  that Scheme is such an unattractive language is that it tries to say that
  "there is such a thing as a universal and globally unique Right Thing",
  and this is _such_ a ludicrous position in the first place.  Sometimes,
  when I hear Scheme people talk, and you among them, I get the impression
  that there are 26 people trying to argue which is the Only Right Letter
  and they are _so_ in the need of someone to say "Hey, dudes!  One word:

  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.