[comp.lang.scheme] string->symbol ?!

muenx@heike.informatik.uni-dortmund.de (Holger Muenx) (03/23/90)

Hi!

Thanks to all who answered to my posting according to a minor problem with
string->symbol when using upper/lower case letters in MIT-Scheme.

Ok, most of them said it's in the R3RS so this behaviour is correct. It's
really in R3RS -- I read it.

Here is my (naive) opinion to this point. May it be written in R3RS or not
-- I think it's disturbing. When do you want to have symbols which cannot
be typed from keyboard? Isn't it enough to use strings in these cases?

Someone said it's a relict from old Lisp times. There existed no strings so
they needed symbols which can consist of non-typable chars.

                                                   -Holger

=============================================================================

     Holger Muenx                 muenx@heike.informatik.uni-dortmund.de
     IRB, UniDo
     4600 Dortmund                  "My opinions are shareware. Send $10
     West-Germany                    if you like them."

jinx@ZURICH.AI.MIT.EDU ("Guillermo J. Rozas") (03/26/90)

   Date: 23 Mar 90 15:46:55 GMT
   From: Holger Muenx <mcsun!unido!laura!heike.informatik.uni-dortmund.de!muenx@uunet.uu.net>

   Hi!

   Thanks to all who answered to my posting according to a minor problem with
   string->symbol when using upper/lower case letters in MIT-Scheme.

   Ok, most of them said it's in the R3RS so this behaviour is correct. It's
   really in R3RS -- I read it.

   Here is my (naive) opinion to this point. May it be written in R3RS or not
   -- I think it's disturbing. When do you want to have symbols which cannot
   be typed from keyboard? Isn't it enough to use strings in these cases?

   Someone said it's a relict from old Lisp times. There existed no strings so
   they needed symbols which can consist of non-typable chars.

Consider building a parser in Scheme for a new dialect of Lisp.  You
may want to share the "symbol table", since that may give you
convenient access to the primitives, yet you may want your new dialect
to be case-sensitive.  Your parser could then use STRING->SYMBOL to
intern symbols, yet allow symbols in the "wrong" case, or mixed case.

Most programs will not exercise this capability, which is why I would
like to see a standard case-canonicalizing version of STRING->SYMBOL,
yet some programs may want it.