Subject: Re: ACL 6.0 Trial Edition ships with non ANSI reader behavior.
From: Erik Naggum <>
Date: 2000/11/05
Newsgroups: comp.lang.lisp
Message-ID: <>

* John Foderaro <>
| If you write code that you wish to contribute to others you  as the
| author have to ensure that it will work on the target platforms on
| which you wish it to run.  If you want it to run on a pure ANSI lisp
| then you must make sure that if you use mixed-case symbols in your
| program then there are no symbol name clashes if the code is read by
| an ANSI reader.

  John, you _do_ know better than this, so I wonder why you completely
  ignore the language as actually defined.  The language you keep
  arguing against is _not_ a full Common Lisp, but rather some stunted
  version that displays all the flaws you would like people to believe
  the full language suffers from, but that is simply not the case.
  I'm positively _flabbergasted_ that you think you can get away with
  such an obvious hoax in this forum, of all places.  I could be mean
  and say that you pit Modern Lisp against Ancient Lisp, not ANSI Lisp.

  The "ANSI reader" can be told to preserve case.  Except in Allegro
  CL, where that functionality has been ripped out on purpose in order
  to make code that wants to use this functionality break.

  Symbol quoting has _always_ worked.  In fact, it's in there because
  people wanted an escape from the case-insensitivity.  You can write
  |IThinkSmallTalkIsBetterThanCommonLispAnyway| and get _exactly_ what
  you typed as the symbol name.  Oh, I'm sure we'll hear aesthetics
  arguments, now, but that is irrelevant: If you want it, you got it.
  Thank you for not breaking this property of ANSI Common Lisp.

| While Franz has never delivered a Modern image before the lisp has
| always been capable of running in Modern mode.

  Huh?  ACL 5.0 Trial was delivered with :case-sensitive-lower, IIRC.
  ACL 5.0.1 Trial was delivered with :case-insensitive-upper after
  much of the same kind of resistance that you are facing now, having
  learned nothing from last time.  That just adds to my being annoyed.

| I think that Lisp people prefer to use a hyphen to separate words in
| a symbol instead of Capitalization.

  More than that, people are not using MixedCaseWordsStrungTogether in
  any environments other than those in which they are taught it is a
  good thing, despite no shortage of case sensitive systems.  Ever see
  users use filenames like that on Unix?  Ever see _Windows_ users
  flock to the StupidCapsCamp?  One would perhaps think that they
  should because their programmers tend towards such identifiers, but
  that is not what we find in practice.

| Bottom line: Franz is not going to start introducing mixed case APIs
| to normal lisp things.   You can use mixed case if you want, it's
| your choice.  However when dealing with mixed case  objects
| (e.g. Java symbols, XML symbols) we will make use of ACL's mixed
| case ability if the result is a cleaner interface.

  FWIW, I think this is a good argument for case sensitivity.  Lisp
  has always been a language for making communication easy, and the
  upper-case thing was mostly due to communication with FORTRAN way
  back when (now known as Fortran :).  Lisp as such has no intrinsic
  need for either case or case sensitivity, which is why it works just
  as well to write Common Lisp code in case-insensitive-upper as in
  case-sensitive-lower modes.  (Yeah, I know I'm rubbing it in.)

  Does anyone remember where I parked Air Force One?
                                   -- George W. Bush