Subject: Re: First-class symbols (Re: Why is Scheme not a Lisp?)
From: Erik Naggum <>
Date: Fri, 15 Mar 2002 22:51:44 GMT
Newsgroups: comp.lang.lisp
Message-ID: <>

* Erann Gat
| I think I really don't understand what he means by "first class symbols."
| The phrase "first-class function" usually means that functions can be
| passed as arugments and returned as values.  Scheme symbols have those
| properties as well.  So one of us is obviously missing something, and I'm
| pretty sure it's me.

  But what can you do with a symbol in Scheme?  Can you read and write its
  value?  At least you can call a (first-class) function that has been
  pased to you.  Can you call a symbol in Scheme if its global value is a
  function?  If symbols are _only_ interned constant strings, I do not see
  the value of calling them "symbols" in the Lisp sense of the word.  This
  is one of the cost of flirting too much with the Algol family.

  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.