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.

///