Subject: Re: basic package question
From: Erik Naggum <erik@naggum.net>
Date: Sat, 20 Apr 2002 11:06:35 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3228289595494575@naggum.net>

* "Paul F. Dietz" <dietz@interaccess.com>
| But this does the wrong thing if your lisp doesn't by default read
| symbols as being in upper case.

  Then you are not using ANSI Common Lisp, but some other Lisp.

| I prefer something like this:
| 
| (defpackage :foo
|   (:export #:x))
| 
| There was a long, drawn out thread about this last year, wasn't there?

  I have tried long and hard to understand the position that (1) ANSI
  Common Lisp mandates upper-case symbol names, (2) someone does not like
  that, so (3) violating ANSI Common Lisp requirements is the only
  solution.  It most definitely is not the _only_ solution.

  If you are a good citizen of the Common Lisp community, you realize that
  it does not matter at all what the internal case of the symbols are.  If
  you want to see and type lower-case symbol names, that has no bearing on
  what the internal symbol names must be.  Thinking it does indicates a
  massive failure to grasp how the whole string-to-symbol operation works.

  I am probably no more than a few days away from a fully working solution
  that would make Allegro CL, which has introduced this problem to our
  community, work equally well with _both_ upper-case and lower-case symbol
  names in the code it reads and its programmers are exposed to.  Today,
  you are required to make a decision whether you want your code to see
  upper-case _or_ lower-case symbol names.  This has been a source of some
  very serious annoyances and even "wars" here, but it has at its root a
  personal dislike of the arbitrary choice of upper-case symbol names and a
  lack of professionalism by those who hold this personal grudge against
  the standard.  I believe I have found an easy, modular, and predictable
  way to make the programmer choose, so the implementor does not have to.

///
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.

  Post with compassion: http://home.chello.no/~xyzzy/kitten.jpg