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

* John Foderaro <>
| In article <>, says...
| > I *do* think language designers are and should be selfish.
| Wow.  This whole discussion has been worth it just to see you say that.
| It is so wrong that I can't even express the magnitude in words, but it
| at the same time it explains so much about why you did what you did
| with respect to Common Lisp standard.

  Wow.  This whole discussion has been worth it just to see you admit
  that you bear serious grudges against Kent, John.  I have wanted you
  to come out and say that for a long time so I could trash it as the
  most insipid, stupid, childish attitude problem I have ever come
  across.  Get the fuck over it, John!

| 1. The key is to know the target group for the language.  You have
| to know their needs and limitation.  You are writing the language
| for them and not to satisfy your own ego, so what they want is
| paramount.

  Selfish does not mean "satisfy your own ego", it means looking out
  for your own needs.  If you want "egotistical", say that, instead.

  Whether your needs are disregarding other people's needs or not is a
  question of how smart you are, not how selfish you are.  In other
  words, whether the "self" whose needs you are concerned with is just
  you, a community to which you belong, or even some greater group you
  consider yourself and your vested interests in.  You, for instance,
  disregard people's needs for conformance to the standard in a stupid
  way that alienates people.  I wouldn't call that selfish, because
  you have clearly destroyed parts of your own credibility and your
  chances of success, so you're not exactly looking out for your own
  needs, are you?  Quite the contrary, but it isn't _unselfish_ in
  that nice, biblical sense just because you're self-_destructive_.

| 2. Eliminate all your personal prejudices.  The best solution for
| the target audience may involve you doing things that you personally
| don't like.

  Such as actually conforming to a community standard, John?

| 3. Think about the future.  You don't want your language to be
| obsolete in a few years.

  If someone doesn't want this and looks out for his own needs, you
  brand him selfish and satisfying his own ego.  Can you please make
  up your mind?  The "selfish" you're trying to force into Kent's
  mouth is "stupid, short-sighted, ignorant, disrespectful".  He
  didn't quite say that, did he?  Why do you have to demonize him?

| The key is *not* be selfish.  Even in a committee setting you are
| representing the wishes of a large community who have wants, needs
| and experiences different from your own.

  If they are _different_ from your own, you have a problem.  If you
  can manage to find a way to make theirs your own or yours theirs or
  transcend the particular needs with a more abstract solution, you
  have built a group who can look out for their own needs (and thus
  are _selfish_) and who have the right to disregard others, namely
  those who are not part of the target audience, which is also what
  you favor.

  I would imagine someone who argues to fervently against selfish to
  look out mostly for the people who are _not_ in his target audience,
  because otherwise, you are clearly guilty of satisfying your own ego
  at their expense, right?  So we need to consider the needs of the
  Russian coal miners on Svalbard when designing Common Lisp if we
  shall not fall prey to John Foderaro understanding of ethics.

| You would argue "I don't like to see mixed case symbols." "I can't
| distinguish mixed case symbols by pronounciation".   It was always
| "I", "I", "I".

  And you _seriously_ think you're any better, John?  You've gone out
  of your way to talk about _your_ desire for a case-sensitive,
  lower-case Lisp, and you are far worse than Kent in disregarding any
  input you receive, because you defend yourself as if you're this
  halo-wearing hero who unselfishly looks out for his target audience.
  But you're the selfish one here, John, in _your_ definition of that
  term: stupidly, short-sightedly, ignorantly, disrespectfully
  screwing those who don't agree with you and thus aren't in your
  target audience.

| I didn't realize that you had this selfish philsophy and that it
| didn't matter that lots of people wanted case sensitivity, you were
| going to vote based soley on how you felt, and screw tne community.

  Kent doesn't have _your_ selfish philosohy, John.  That's what you
  would have done if you were looking out for your own needs.  I know
  Kent well enough to say that is not that stupid, short-sighted, or
  arrogant.  I know you well enough to say that the only thing that
  keeps you from doing that kind of thing is to consciously ignore
  your own needs, because when _you_ are looking out for your personal
  needs, _you_ become the "Kent" you hate so much.

| Well at least I known now that there was nothing I could have done
| and no amount of people I could have put forward to convince you to
| vote for case sensitivity.  Basically it was a lost cause the moment
| you guys formed a committee.

  You have "known" this for years, John.  It has always been false.
  That's the tragedy of your position.

| Clearly we are in these camps
| 1. those who hate mixed case symbols. 
| 2. those who hate anything non-ANSI (that doesn't help them in their
|    current project).
| 3. everyone else

  I find you in the "hate" group, and everybody else outside it.

  The camps are these, as I see it:

1 Those who hate upper-case-mode and the standard.
2 Those who want lower-case-mode and the standard.
3 Those who don't care either way.

  You're in camp 1.  I'm in camp 2.

| I can't imagine why things should change in the next 6 months
| (except that this whole discussion has gotten people curious).

  You could relax your hatred toward Kent and the rest of the
  committee and you could ask friends for help in getting over your
  personal grudges, and then you could ask someone at Franz Inc to
  help you in the damage control that now nees to be done, because
  everybody who has read this exchange from you now know for certain
  that John Foderaro will only very grudgingly implement anything from
  the standard, and it shows in Allegro CL, too: Excellent stuff all
  over the place, except all these idiotic little bugs that crop up if
  you expect the standard to be _fully_ implemented.

| If you want to see the "ferociously detailed specs", they are slightly
| more than one page of html.  Don't blink or you might miss it.

  Your code examples break if *print-case* is not :upcase.

  This is just too shoddy work to publish, John.

  Whenever someone accuses someone else of being selfish as a line of
  attack, look out for _their_ personal desires and how they screw
  people to get them.  It is their belief that _they_ are not selfish
  and thus allowed to screw people, that causes them to screw so many.

  Here's my collected wisdom on holier-than-thou folks: You are only
  safe among people who admit to their interests.  If someone says he
  has no vested interests in what he is doing and he's trying to get
  into political power or shape some community, run for your life: He
  is capable of _unlimited_ atrocities.  Only to the extent that he
  _has_ vested interests and knows them well, can you predict a man's
  behavior and rely on his word.  Only if he admits to his interests
  can you change his mind, too.  A man who has no selfish interests is
  impossible to reason with, because he doesn't say what he wants.

  So, what _are_ your interests, John?  What would make _you_ happy?
  So far, it only seems you are happy if you can trash Kent and the
  standard, no matter what you fail to accomplish in the process.

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