Subject: Re: Promoting CL Was: What I want from my Common Lisp vendor and the Common Lisp community
From: Erik Naggum <erik@naggum.net>
Date: Wed, 05 Sep 2001 00:05:23 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3208637120220622@naggum.net>
* Rajappa Iyer <rsi@panix.com>
> I didn't get that from the excerpt. All I read in it was that John
> thought that this particular feature (case insensitive upper) was a
> blotch in the language.
I thought we were still talking about if/when/unless, but it also applies
to case sensitivity. Teaching people to abhor upper-case and tell them
to use lower-case also destroys the common knowledge. Making standard
functions return non-standard values is _really_ bogus.
If they worry so much about upper-case versus lower-case, there are two
easy steps: set *print-case* to :downcase and make the keyword argument
:case-insensitive to apropos default to t. They do neither, but seem to
want people use their very incompatible version instead. I have been
working on a solution that does not destroy conformance at all -- and it
turns out to be really easy to support in the framework that Franz Inc.
has already built to support their special set-case-mode. This is about
the willingness to remain conforming while making serious changes, or
lack thereof, to be more precise.
But as long as we talk about this issue, it is in fact possible to let
(common-lisp:symbol-name 'foo) return "FOO" and have something like a
(common-lisp-lower:symbol-name 'foo) return "foo". This is the kind of
thing the package system should have been able to deal with, shadowing
some of the important functions. The reader needs to be able to deal
with a parameterization of which functions to call, however, and the
specification for this will have to be extra-standard. This means that
it should probably go in the readtable. Since the readtable already
supports everything we need for a lower-case Common Lisp to work, all we
would really need is the ability to retain the standard functionality in
addition to the lower-case versions. This should be doable without
having to break anything, if only you are willin to look for it. That
would make it possible to intermix standard and lower-case code, too,
which is currently impossible with the separated schemes used today.
> Intelligent people can disagree with majority opinion and/or hold silly
> opinions of their own without being pilloried as the enemy of the state.
> If not, it's the state and its defenders that I'd question, not the
> individual.
Grandiose speech. Competely irrelevant to this case, however.
///