On Fri, Jan 25, 2008 at 12:02:21PM -0800, [EMAIL PROTECTED] wrote:
I was talking to some Lispers yesterday and they said Scheme does NOT have a "SYMBOL" type.
They are just wrong. Quoting 6.6.3 of R5RS: Symbols are objects whose usefulness rests on the fact that two symbols are identical (in the sense of eqv?) if and only if their names are spelled the same way. This is exactly the property needed to represent identifiers in programs, and so most implementations of Scheme use them internally for that purpose. Symbols are useful for many other applications; for instance, they may be used the way enumerated values are used in Pascal.
Rather, in Scheme a symbol is "just a string" which is a good thing. He said Common Lisp DOES have a symbol type only for "historical reasons".
Sounds like they're thinking of the symbol property list, which lisp has, scheme doesn't, and isn't really used much in common lisp. But both have symbols, and they are quite useful.
I'm not happy knowing Common Lisp is more complicated than absolutely necessary "for historical reasons".
The symbol's property list doesn't really do much if you don't use it. The implementations associate documentation with symbols which help IDEs be general. I would hardly call this "for historical reasons".
Lisp needs a young "Torvalds" type leader to BREAK BACKWARD COMPATIBILITY and create the BEST LISP POSSIBLE without giving one thought to past kruft.
Lisp is big because of the library of functions that have to be present, not the essentials. The things I end up being annoyed about with Scheme are mainly things that aren't in Common Lisp. Dave -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
