Janis Dzerins <jo...@latnet.lv> writes: > Kent M Pitman <pit...@world.std.com> writes:
> > What raises this to the level of "advocacy" is that it forces people > > to confront the missing piece and to voluntarily download this other > > library as if it were reasonable to suppose that it were a separate > > platform, and that the bug was on the part of the consumer (for not > > running that platform) instead of on the part of the programmer (for > > not including all the code needed to run their so-called conforming > > system).
> The point John tried to make (as I understood it) is that he writes > the software for one platform only (Allegro CL) and if anybody tries > to port it to other platforms, the conditional macro is the smallest > and easiest part of porting effort, and he never claimed the software > as being or purporting to be conforming to ANSI Common Lisp.
I had been pretty certain I've seen him say otherwise and start to get into claims about conformance. I did a google search and couldn't find the reference so might be mistaken.
> > No one has either agreed or disagreed with my claims as to what > > constitutes conformance in this case. Silence on an important issue > > like that makes me nervous.
> My position on this is that bringing stuff from old dialects of Lisp > back into Common Lisp is bad at least for the reason that the standard > should have freed us from wanting to do this. (Was it not the purpose > of the Common Lisp standard to have a common Lisp platform instead of > many, differing in some details, Lisps of the time?)
This is certainly one of the reasons. Although in a maleable language, like Lisp is, you have to expect some private divergence. I think it's a blurry line between what is a big enough thing to pervade the culture and what's reasonable personal choice. Part of the issue is that this is one of those asymmetric issues that people simply value differently, so it's hard for people to meet eye to eye on it.
Historically I believe the key driving reason was to keep ARPA from picking Interlisp as its language of choice, because it was deployed more places than the various incompatible little MACLISP-like dialects were. Only by getting those dialects to unify was it apparent that the unified community was bigger and stronger than the Interlisp community. So we managed to soundly trounce Interlisp, probably more than we should have, since I'm sure a lot of culture and ideas were lost. But, in effect, even this part of the reason for CL implies "yes" to your question. ON THE OTHER HAND, their concern was plug compatibility, not programmer mindshare. They wanted to farm out one task to one university and another to another university and not end up with a Tower of Babel with nothing plugging together. I don't think IF* would have been historically threatening in that sense, at least not all by itself. Indeed, the other programming language communities solved this problem by creating the "linked library" model that allowed them to take utterly different programming language and link them together in callable modules that were (mostly) plug compatible and industry accepted that as "good enough". So programmer mindshare could be empirically seen as a secondary concern to plug compatibility, at least given the data I'm focused on.
> Some people here argue that if they can create their favorite Lisp > dialect of past in a conforming Common Lisp program then it is good to > do it. I think it is not.
I don't know about good. I think it's not automatically bad. But I think people will reasonably differ on this and in some sense it's a community issue, not an individual issue. Nor is it one that the market must all agree on.
I think it's most improtant just to keep clear what kind of compatibility and conformance claims are attached to different things we distribute so that people aren't surprised. I think surprise is the real problem to be managed.
> I may be not grasping the level at which you wanted this discussion to > evolve, but we cannot move to higher levels until the issues at lover > levels are not settled down. If we all agree that _Commn Lisp_ is the > base from which we move on then we can move on. People who think that > Common Lisp should be changed before we move on should either rethink > their values and accept The Standard as a starting point or create > another community and leave Common Lisp alone. The acceptance of > Common Lisp as the authority should have been implicit for people > wanting to be a part of the Common Lisp community, but it seems that > somehow some people don't understand it.
I do agree that a community-wide discussion about whether the base is right will hold us back from moving ahead for yet another entire human generation. And I think that will surely kill the community. I think there's room for people to privately make their own exceptions to what the designers did--we built that capability in on purpose as an apology to people whose wishes we trampled. But I think at the same time that the standard is "good enough" and linguistically accomodates dissent far better than other languages do. Just try to get Java to "pretend otherwise" when you don't like some decision its designers made...
> * In message <squ1vp1l0q....@cam.ac.uk> > * On the subject of "Re: I'm outta here..." > * Sent on 20 Nov 2001 16:09:57 +0000 > * Honorable Christophe Rhodes <cs...@cam.ac.uk> writes:
> > (should it return #p"/HOME/KENT/foo" like in CMUCL and ACL or > > #p"/home/kent/foo" as in LW) and _nobody_ answered _anything_.
> > You said on <clisp-list> that you support the LW way and offered a > > reasonable argument and said that you are interested in the opposing > > rationale. Isn't this _the_ forum for such a discussion?
> It's a forum, certainly, but not necessarily one that's read by many > implementors.
this is irrelevant - there aren't many implementors anyway (and it's good!) it is read by the user community though, and it is here that the consensus should be worked on.
> Are you basing your queries on the tests I posted a few months ago? yes. > Could you give me a reference?
not really. your tests are a black box - very hard to use. I asked you to convert them to a more "splittable" format, like those in CLISP/tests or CLOCC/src/tools/ansi-test or CLOCC/src/tools/clunit.
Sam Steingold <s...@gnu.org> writes: > > * In message <sfwn11igpqw....@shell01.TheWorld.com> > > * On the subject of "Re: I'm outta here..." > > * Sent on Tue, 20 Nov 2001 02:06:31 GMT > > * Honorable Kent M Pitman <pit...@world.std.com> writes:
> > can we instead focus on the conformance issue. No one has either > > agreed or disagreed with my claims as to what constitutes conformance > > in this case. Silence on an important issue like that makes me > > nervous.
> the fact that you are right is so obvious, that posting a message saying > just that appears to be a waste.
> What makes _me_ nervous is that I posted _twice_ about
> (should it return #p"/HOME/KENT/foo" like in CMUCL and ACL or > #p"/home/kent/foo" as in LW) and _nobody_ answered _anything_.
> You said on <clisp-list> that you support the LW way and offered a > reasonable argument and said that you are interested in the opposing > rationale. Isn't this _the_ forum for such a discussion?
Ok, here's how I _think_ MAKE-PATHNAME works. No, I didn't test this. And yes, I may have made an error here so _please_ question any confusing parts:
In particular, I believe the :case argument applies only to the transform space from free-floating fragments into slot components. Once in the slot, they should forever after be shuttled among pathnames both here and in MERGE-PATHNAMES by lifting them with :case :common and storing again in :case :common [or (he says cryptically) some other case-caonicality-preserving mechanism].
* Erann Gat | This is simply not true. The C++ community has vastly more dissent about | its standard than the Common Lisp community. To cite but one example, | look at the C++ FAQ some time. There's a whole litany of features (which | are all part of the standard) that are labelled "EVIL".
Are the _features_ marked evil or their _syntax_? Are they _fundamental_ to the language as seen by programmers? Can introductory textbooks on C++ still be used to learn the language they see used in open source code?
| So the suggestion that John is going to do irrepairable harm to the Lisp | community by making a disparaging remark about LOOP is not supported by | the evidence.
It is not just about loop. However, I am not surprised that you say it is, because you would have had to supoort my point of view if you had focused on if*. So I simply take this intentional misleading comment to mean that you support me on the if* issue. Thank you.
/// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
* Erann Gat | But that's not the topic at hand. What Erik is ranting about is John's | advocacy of a programming style that avoids the use of standard features | (cond, unless, when, loop) in favor of a non-standard one (if*). It | would not placate Erik's position to have #+ALLEGRO(defmacro if* ...) in | the code.
Replace "avoid" with "forbids" and maybe you get the point. Sigh.
/// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
* Janis Dzerins | The point John tried to make (as I understood it) is that he writes the | software for one platform only (Allegro CL) and if anybody tries to port | it to other platforms, the conditional macro is the smallest and easiest | part of porting effort, and he never claimed the software as being or | purporting to be conforming to ANSI Common Lisp.
None of this would ever have come up as an issue if he had said he wrote and posted programs in Foderaro Lisp, which is what he is really doing. It looks like Common Lisp the same way Microsoft's languages look like the standard -- not quite.
| Users may modify the code but _must_ obey that coding standard, which is | not The Common Lisp Standard (the ANSI one, because there is no other). | And hence if anyone thinks it's junk in there, they are not free to | improve it or even discuss whether something is an improvement -- you | either obey what the author thinks is best or go code something else.
Excellent point that has not been made explicit until now. Thanks.
| Some people here argue that if they can create their favorite Lisp | dialect of past in a conforming Common Lisp program then it is good to | do it. I think it is not.
I agree.
| If we all agree that _Commn Lisp_ is the base from which we move on then | we can move on. People who think that Common Lisp should be changed | before we move on should either rethink their values and accept The | Standard as a starting point or create another community and leave Common | Lisp alone.
This would not have been a problem if it were not for the weird desire to name the new community "Common Lisp". However, there are always those who think they can steal the momentum of the good name of something they want to destroy and replace.
| The acceptance of Common Lisp as the authority should have been implicit | for people wanting to be a part of the Common Lisp community, but it | seems that somehow some people don't understand it.
There is a difference between accepting something _as_ an authority and accepting everything it says as authoritative. This is an important distinction that Paul Foley helped me realize was not made explicit. The latter is simply wrong -- but I do not think anybody actually _does_ that except to accuse others of it. That is, if you say you accept the law _as_ the authority on public conduct in a society, someone who does not accept the law _as_ an authority will typically argue that you should not accept everything it says as _right_. Our perpetrator does exactly that and it did not even occur to me just _how_ sinister this was: It means that you cannot accept someone or somethinig _as_ an authority unless you agree to everything they say, making infallibility a prerequisite for authority, which is simply so insane that nobody _should_ be able to come to this conclusion on their own, but again, some people tend to think that other people believe insane things so they are easier to fight. This prerequisite of infallibility is fantastically destructive to the very fabric of a reasonable society, but many religions incorporate it. This is why the perpetrator thinks that Common Lisp is a religion and a cult to those who accept the standard _as_ the authority. To him, to disagree with an authority means to dethrone and reject it. Since this is so nuts as to be excluded from the conversation among reasonable men, anyone who actually believes something like this is very destructive.
This "accept the standard as authority" is what I have meant by "respect for the standard". You can respect someone while disagreeing with them. You can respect the police even while arguing against their behavior, but if you just get mad at police in general and start to fight the police for no better reason that they _are_ the police, it is not _disagreement_ that you should be prepared to defend yourself against. Curiously, it is precisely with "disagreement" that our perpetrator has tried to summarize his conflicts with those who uphold the standard _as_ the authority. We should not buy into this line of argument at all. If you reject the only authority in a community because you disagree with it, it is not because of your "disagreement" that people object to your behavior, it is because the whole community reverts to anarchy and is filled with uncertainty, loss of stability, and absence of trust in the vendors in the market.
If there is _one_ thing that the Common Lisp community must have more than any other community, it is trust in its vendors and respect for its standard. The language community is too small to sustain splinter groups and fragmentation. A vendor who answers to nobody, but which is willing to "go their own way" regardless of consequences and objections is hard to trust to do things right, to correct mistakes, etc. If they "answer to their customers", it only means that customers who do not want the standard behavior are valued higher than those who do -- that particular terminology has forever been usurped by Microsoft to mean disrespect for any authority that is not themselves. It also means they are unlikely to fix conformance bugs upon which some _past_ customers have based their applications that are valued higher than future customers who cannot base their applications on their lack of conformance. This is _not_ what the Common Lisp community needs to survive.
/// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
Erik Naggum <e...@naggum.net> writes: > * Erann Gat > | This is simply not true. The C++ community has vastly more dissent about > | its standard than the Common Lisp community. To cite but one example, > | look at the C++ FAQ some time. There's a whole litany of features (which > | are all part of the standard) that are labelled "EVIL".
> Are the _features_ marked evil or their _syntax_? Are they _fundamental_ > to the language as seen by programmers? Can introductory textbooks on > C++ still be used to learn the language they see used in open source code?
Actually, I think they're marked as "evil uses" of feature X, which is a very different thing. Although I wouldn't call using APPEND to collect into a list "evil", I also don't have very nice things to say about it :-). That doesn't mean APPEND shouldn't be in the langauge, nor that there's anything wrong with APPEND, just that there are stupid ways it can be used. [I admit, I'm not very familiar with the C++ FAQ, so maybe there are language features marked "evil" as well, but I remember seeing that in reference to #define, as in "evil use #1, #2, ...".]
-- /|_ .-----------------------. ,' .\ / | No to Imperialist war | ,--' _,' | Wage class war! | / / `-----------------------' ( -. | | ) | (`-. '--.) `. )----'
-- Lieven Marchand <m...@wyrd.be> She says, "Honey, you're a Bastard of great proportion." He says, "Darling, I plead guilty to that sin." Cowboy Junkies -- A few simple words
* Louis Theran | (1) If you weren't looking for sinister conspiracies and trying to | justify bizarre claims about Foderaro's supposed desire to harm the Lisp | community, you'd assume that he just wants the code to be written in a | consistent style. His preferred style happens to involve if* and not | involve extended loop.
At issue is whether that "consistent style" is compatible with the standard or at direct odds with it. The issue is not if* and extended loop. Extended loop can be emulated with simple loop, which sometimes is a good idea, but is mostly just nuts qua requirement of a "style". At issue is the _prohibition_ against when, unless, if, and cond, the _standard_ conditionals, which makes a world of difference. If people were free to use all these, it would be an issue of misguided personal preferences, nothing more. With the prohibition against use of standard conditionals, it is something quite a bit more sinister in nature.
| If I were to submit code that consistently used | | (if test (progn ...) (progn ...)) | | to a project you were maintaining, would you accept it?
Have you never heard of coding standards before this incident?
| (2) Users may make any modifications permitted by the license under which | Foderaro released the code. That license says nothing vaguely related to | the claims above.
Yes, it does. Its amazingly stupid "coding standards" document appeals to the same kind of sense of community that the GNU Coding Standards and any other _serious_ and _competent_ coding standards documents do, but it is in fact nothing but one, lone anti-social rebel without a clue who has written down a few of his personal issues with the standard.
| Your only legitimate point is that apparently you won't be able to | cooperate closely with Foderaro, since you are not willing to make | contributions in a style consistent with the rest of his project.
Anyone who has learned Common Lisp from any available textbooks will be unable to contribute. Asking people to refrain from using non-standard cruft is one thing, but asking people to refrain from standard operators is quite different. In effect, this anti-social nutcase is saying that "if you know Common Lisp, you are not welcome here".
| This is Lisp. Lisp has macros. Learn to deal with it. The community is | much better off when anybody who wants to contribute free Lisp software | feels welcome to do so on terms that they find comfortable.
If only they could be mature enough to understand that people are equally free to voice their opinions about what they have done. That is not the case: Disagreement with his disagreement with if, when, unless, cond, and loop is forbidden. He exploits one level of freedom and then closes the door on those who want to exercise theirs. Why is he unable to deal with people who use _their_ preferred macros? Why should everybody dance to his tune and he flatly reject everybody else? This anti-social attitude is at the core of this "discussion", not the _specific_ macro silliness.
Specifically, if I wanted when and unless and implemented them with if*, would that be acceptable? If not, the something is _really_ wrong with our anti-social "the world is barely big enough for me" dude.
/// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
In article <sfwn11igpqw....@shell01.TheWorld.com>, Kent M Pitman
<pit...@world.std.com> wrote: > g...@jpl.nasa.gov (Erann Gat) writes: > > But that's not the topic at hand. What Erik is ranting about is John's > > advocacy of a programming style that avoids the use of standard features > > (cond, unless, when, loop) in favor of a non-standard one (if*). It would > > not placate Erik's position to have #+ALLEGRO(defmacro if* ...) in the > > code.
> Maybe. Maybe not. I would switch sides in the argument if John > acceded and did things by the standard. And I'm not convinced Erik > wouldn't back down on this either, frankly. What raises this to the > level of "advocacy" is that it forces people to confront the missing
^^^^^^^^^
> piece and to voluntarily download this other library as if it were > reasonable to suppose that it were a separate platform, and that the > bug was on the part of the consumer (for not running that platform) > instead of on the part of the programmer (for not including all the > code needed to run their so-called conforming system).
People are only "forced" to "confront the missing piece" *IF* they choose to run Allegroserve on a non-Allegro platform. That's a big IF* :-) But yes, you're right. If someone wants to take advantage of the free software provided by Franz on a platform other than the one that they sell then they have some (very minor) issues they have to address. So what?
* Erik Naggum:
> Replace "avoid" with "forbids" and maybe you get the point. Sigh.
The idea that it is John's intention to "force" anyone to do anything or "forbid" anyone from doing anything is at odds with what he actually says:
* John Foderaro:
> It's a programming language folks!! It's a tool to get a job done. > Use it any way you want and don't let anyone tell you differently.
Sounds like he's advocating the exact opposite of what you and Erik are claiming.
> Please can we not talk about the personal side of this any more and can we > instead focus on the conformance issue. No one has either agreed or > disagreed with my claims as to what constitutes conformance in this case. > Silence on an important issue like that makes me nervous.
Perhaps it would help if you reiterated succinctly what you think the conformance issue is. I've been silent about it because it seems like a non-issue to me. Yes, Allegroserve does not conform to the standard, but the non-conformance is relatively minor and easily remedied. I haven't seen John say anything different. What exactly is the problem here? The only problem I see is people making mountains out of molehills.
* Erann Gat | Sounds like he's advocating the exact opposite of what you and Erik are | claiming.
Sigh. I am beginning to think you are intentionally obtuse just to play another one of your stupid games. Find a quote where he responds to a question on what he would do if you got code with the forbidden forms, indeed, what he wants to do with the code he has received from his colleagues who have used the forbidden forms. Do you remember the stupid "Lisp Coding Standards" document, still at version 1.0, which very, very strongly discourages certain forms. It is quite useless to try to argue that these things did not actually happen just because it would kill you to agree with me on _anything_.
/// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
g...@jpl.nasa.gov (Erann Gat) writes: > In article <sfwn11igpqw....@shell01.TheWorld.com>, Kent M Pitman > <pit...@world.std.com> wrote: > > g...@jpl.nasa.gov (Erann Gat) writes: > > > But that's not the topic at hand. What Erik is ranting about is > > > John's advocacy of a programming style that avoids the use of > > > standard features (cond, unless, when, loop) in favor of a > > > non-standard one (if*). It would not placate Erik's position to > > > have #+ALLEGRO(defmacro if* ...) in the code. > > Maybe. Maybe not. I would switch sides in the argument if John > > acceded and did things by the standard. And I'm not convinced Erik > > wouldn't back down on this either, frankly. What raises this to the > > level of "advocacy" is that it forces people to confront the missing > ^^^^^^^^^ > > piece and to voluntarily download this other library as if it were > > reasonable to suppose that it were a separate platform, and that the > > bug was on the part of the consumer (for not running that platform) > > instead of on the part of the programmer (for not including all the > > code needed to run their so-called conforming system). > People are only "forced" to "confront the missing piece" *IF* they > choose to run Allegroserve on a non-Allegro platform. That's a big > IF* :-) But yes, you're right. If someone wants to take advantage > of the free software provided by Franz on a platform other than the > one that they sell then they have some (very minor) issues they have > to address. So what?
Anyone that uses any of the software that John Foderaro changes over to conform with his "Lisp Coding Standards" has to live with the notion that rather than using Actually Standard CL Constructs like IF, WHEN, UNLESS, and COND, the code is liable to get changed to use IF*.
> * Erik Naggum:
> > Replace "avoid" with "forbids" and maybe you get the point. Sigh.
> The idea that it is John's intention to "force" anyone to do anything or > "forbid" anyone from doing anything is at odds with what he actually says:
> * John Foderaro:
> > It's a programming language folks!! It's a tool to get a job done. > > Use it any way you want and don't let anyone tell you differently. > Sounds like he's advocating the exact opposite of what you and Erik > are claiming.
But his "Lisp Coding Standards" read rather differently.
"Now that we've introduced if* here are the coding rules;
1. Use if* in place of if, when, unless, and cond."
He of course puts, at the top of the web page, all the appropriate disclaimers needed to insure that nobody gets sued.
Just like if you head to the typical web site of one of the "tax protestor" wackos, you'll generally see a disclaimer to the effect that "Oh, no, we're not really offering you legal advice!" (Whilst giving legal advice is the only conceivable purpose of the exercise.)
> > Please can we not talk about the personal side of this any more > > and can we instead focus on the conformance issue. No one has > > either agreed or disagreed with my claims as to what constitutes > > conformance in this case. Silence on an important issue like that > > makes me nervous. > Perhaps it would help if you reiterated succinctly what you think > the conformance issue is. I've been silent about it because it > seems like a non-issue to me. Yes, Allegroserve does not conform to > the standard, but the non-conformance is relatively minor and easily > remedied. I haven't seen John say anything different. What exactly > is the problem here? The only problem I see is people making > mountains out of molehills.
The problem is that he's made up his own idiosyncratic conditional macro, and proposes "making code more readable" by using it in lieu of the control structures that are:
a) Actually standardized in Lisp; b) Documented in texts; c) Agreed upon by more than one person.
The thing that I find fairly hilarious about it is that Foderaro gets all critical about how "awful" LOOP is (see Rule #2) when he's done much the same thing by creating a keyworded "IF". -- (concatenate 'string "chris" "@cbbrowne.com") http://www.cbbrowne.com/info/xwindows.html Rules of the Evil Overlord #107. "Even though I don't really care because I plan on living forever, I will hire engineers who are able to build me a fortress sturdy enough that, if I am slain, it won't tumble to the ground for no good structural reason." <http://www.eviloverlord.com/>
> In LispWorks (both Linux and Windows) 4.2 Beta, it returns #P"/home/kent/foo"
It also returns #P"/home/kent/foo" in 4.1.20 (with a lot of private patches, but none of them are supposed to do anything with pathnames) on *Solaris*. -- (espen)
In article <3215303594748...@naggum.net>, Erik Naggum <e...@naggum.net> wrote: > Find a quote where he responds to a > question on what he would do if you got code with the forbidden forms, > indeed, what he wants to do with the code he has received from his > colleagues who have used the forbidden forms.
Why should I do your legwork for you, particularly when you have been so vocal in berating people who have expected you to do their legwork for them?
> Do you remember the stupid > "Lisp Coding Standards" document, still at version 1.0, which very, very > strongly discourages certain forms. It is quite useless to try to argue > that these things did not actually happen just because
I did not say these things didn't happen. Yes, John wrote a coding standards document. Yes, he put it on the Web. Yes, he said that if anyone wrote code for Allegroserve that didn't conform to his coding standards that he'd probably change it when he found the time. We don't disagree on this.
BTW, a quote from you seems appropriate here:
* Erik Naggum:
you don't even read what I wrote, preferring to read into it whatever you like, so tell me why your fantasy is of any concern to me before you want me to become part of it.
merely refrain from annoying me with more of your pathetic blathering, and there will be less noise -- it's that simple,
> it would kill you to agree with me on _anything_.
It seems to me that train runs both ways. But let's see:
I don't like if*. I do like the standard control constructs, including loop.
<pause>
What do you know? I've actually agreed with you five times in one article and I'm still alive.
* Erann Gat | Why should I do your legwork for you, particularly when you have been so | vocal in berating people who have expected you to do their legwork for | them?
I have? Could you please do the "legwork" and show me how you arrived at this nutball conclusion?
| BTW, a quote from you seems appropriate here:
Glad to see you know how to use search engines. The concept of context is forever lost on the crazy who think that the answer is in text searches. I bet you even have your own archive of my articles so you can be more efficient in finding "incriminating" evidence. Nutcasese who do this virtually _flood_ USENET.
| What do you know? I've actually agreed with you five times in one | article and I'm still alive.
Too bad.
/// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
In article <q9GK7.11904$QC5.1543...@news20.bellglobal.com>,
cbbro...@acm.org wrote: > > So what? > Anyone that uses any of the software that John Foderaro changes over > to conform with his "Lisp Coding Standards" has to live with the > notion that rather than using Actually Standard CL Constructs like IF, > WHEN, UNLESS, and COND, the code is liable to get changed to use IF*.
Yes. Anyone who uses any code that anyone has changed to suit their personal coding style has to live with that coding style. I say again: so what?
> But his "Lisp Coding Standards" read rather differently.
> "Now that we've introduced if* here are the coding rules;
> 1. Use if* in place of if, when, unless, and cond."
> He of course puts, at the top of the web page, all the appropriate > disclaimers needed to insure that nobody gets sued.
> Just like if you head to the typical web site of one of the "tax > protestor" wackos, you'll generally see a disclaimer to the effect > that "Oh, no, we're not really offering you legal advice!" (Whilst > giving legal advice is the only conceivable purpose of the exercise.)
That's right. I say a third time: so what?
> The problem is that he's made up his own idiosyncratic conditional > macro, and proposes "making code more readable" by using it in lieu of > the control structures that are:
> a) Actually standardized in Lisp; > b) Documented in texts; > c) Agreed upon by more than one person.
Why is that a problem? So he's done all this stuff. A fourth time: so what?
> The thing that I find fairly hilarious about it is that Foderaro gets > all critical about how "awful" LOOP is (see Rule #2) when he's done > much the same thing by creating a keyworded "IF".
I agree, it's hillarious. But for the fifth time, so what?
What I can't figure out is: where's the harm? I've seen claims ranging from the proposition that John is fracturing the community to the idea that he wants to destroy the language out of some deep-seated hatred (which is so absurd I'm embarrassed to even be repeating it). The community-fracturing idea is not absurd on its face, but is at odds with the evidence that we see from other language communities.
If there is any harm being done here it seems to me it's in the credibility we lose by spending so much time arguing over such trivialities.
* Erann Gat | What I can't figure out is: where's the harm? I've seen claims ranging | from the proposition that John is fracturing the community to the idea | that he wants to destroy the language out of some deep-seated hatred | (which is so absurd I'm embarrassed to even be repeating it).
The reason you have such problems seeing the harm is that you have made up your mind long ago that it would be abusrd to want to do harm and that nobody would do the absurd, but this is wrong. Such is the nature of the problem that nutcases _do_ what seemingly normal people think is absurd.
/// -- Norway is now run by a priest from the fundamentalist Christian People's Party, the fifth largest party representing one eighth of the electorate. -- Carrying a Swiss Army pocket knife in Oslo, Norway, is a criminal offense.
g...@jpl.nasa.gov (Erann Gat) writes: > on its face. Tell me then, why would someone who hates CL spend his > career working for a CL vendor?
"Hate" is a strong word, maybe "doesn't care" is a better description. Maybe he want's to be the next Anders Hejlsberg (sp?) and wants Allegro CL to be the next Borland Delphi? That's a perfectly valid goal for a for-profit company. However, if this really is the goal than I'd like to see this stated as a public goal.
Okay, I have to finish, it's time for soccer... :-)
you wrote: > No, it's about a troll > that shows up in cll from time to time. Ignore him.
You are accusing me of being a USENET troll.
May i be a troll, but sometimes i think that my learning and issues and the bag of fire inside of me are too important for the progress of society to avoid appearances just because i might be called a troll. Sincerely, mind you, that i was either not going to reply, or going to launch into very serious issues about religion, and/or history of Europe, and torture, which will surely educate and as well as offend egregiously. The anger and injustice in me is such a potent impulse, but anyway i've decided to be light-hearted this time, and focus on the subject of trolling.
If you think i'm a troll, then you should know that the best response to a troll is to not respond. You are now a victim of troll.
i wonder how many readers here really understanding the term _troll_, and i'm certain that the majority have very little knowledge of the subject.
Acquaint yourself with online dictionaries:
dictionary.com merriam-webster.com (m-w.com)
You see that there are few predominant meanings:
1. to fish by trailing a lure or baited hook from a moving boat. 2. a Scandinavian folklore creature, mischievous dwarf-type that dwells under bridges or hills. 3. to stroll, patrol, wander, ramble
I can see that it all can contribute to the etymology of usenet troll.
1. v.,n. [From the Usenet group alt.folklore.urban] To utter a posting on Usenet designed to attract predictable responses or flames; or, the post itself. Derives from the phrase "trolling for newbies" which in turn comes from mainstream "trolling", a style of fishing in which one trails bait through a likely spot hoping for a bite. The well-constructed troll is a post that induces lots of newbies and flamers to make themselves look even more clueless than they already do, while subtly conveying to the more savvy and experienced that it is in fact a deliberate troll. If you don't fall for the joke, you get to be in on it. See also YHBT. 2. n. An individual who chronically trolls in sense 1; regularly posts specious arguments, flames or personal attacks to a newsgroup, discussion list, or in email for no other purpose than to annoy someone or disrupt a discussion. Trolls are recognizable by the fact that they have no real interest in learning about the topic at hand - they simply want to utter flame bait. Like the ugly creatures they are named after, they exhibit no redeeming characteristics, and as such, they are recognized as a lower form of life on the net, as in, "Oh, ignore him, he's just a troll." Compare kook. 3. n. [Berkeley] Computer lab monitor. A popular campus job for CS students. Duties include helping newbies and ensuring that lab policies are followed. Probably so-called because it involves lurking in dark cavelike corners.
Some people claim that the troll (sense 1) is properly a narrower category than flame bait, that a troll is categorized by containing some assertion that is wrong but not overtly controversial. See also Troll-O-Meter.
The use of `troll' in either sense is a live metaphor that readily produces elaborations and combining forms. For example, one not infrequently sees the warning "Do not feed the troll" as part of a followup to troll postings. </quote> --(^_^)--xah--(^_^)--xah--(^_^)--xah--(^_^)--xah--(^_^)--xah--(^_^)--
From here we see that there are two connotations. The first one is prone towards positive, the second negative.
I myself is a well-respected learned man, but every time i read something i pity myself for how little i know. It is a wonder to me, of common people we see daily on TV or streets (and in newsgroups), who have so many opinions and things to say about so many topics from personal issues to political issues, i often like to pet my ego and ask: Of the at least 2000 years of recorded human history, of the countless geniuses in the past, of the myriad of human subjects from sciences to arts, of the depth of the seas of knowledge, how many droplets have they ever spent examining in their pitiful life? Are all the people in history stupid? Are all human concerns in the past irrelevant to today's?
Here are few resources on the troll as a creature:
For coherence and integrity of my report on trolling, and for posterity of the good chance that this article might be unintelligible in a few months because all the urls referred to are gone, i'll reproduce the complete article below:
Section 1: What is a troll? Section 2: Design Issues Section 3: Content Section 4: Newsgroup Selection Section 5: Know Your Audience Section 6: Following-Up Section 7: The Successful Troll Section 8: Troll RFC
INTRODUCTION
The object of this post is to bring together a definitive document to cover the phenomena of the Usenet Troll. To many a troll is nothing more than an annoying method of defeating the killfile whereas to the heavily killfiled, trolling can be a virtual Godsend.
What I want this document to focus on is how to create entertaining trolls. I have drawn on the expertise of the writer's of some of Usenet's finest and best remembered trolls. Trolls are for fun. The object of recreational trolling is to sit back and laugh at all those gullible idiots that will believe *anything*.
Section 1: What Is A Troll? The WWW gives this as a definition:
troll v.,n. To utter a posting on Usenet designed to attract predictable responses or flames. Derives from the phrase "trolling for newbies"; which in turn comes from mainstream "trolling";, a style of fishing in which one trails bait through a likely spot hoping for a bite. The well-constructed troll is a post that induces lots of newbies and flamers to make themselves look even more clueless than they already do, while subtly conveying to the more savvy and experienced that it is in fact a deliberate troll. If you don't fall for the joke, you get to be in on it.
The following extract is from a broader expansion of the defining comments given above:
In Usenet usage, a "troll" is not a grumpy monster that lives beneath a bridge accosting passers-by, but rather a provocative posting to a newsgroup intended to produce a large volume of frivolous responses. The content of a "troll" posting generally falls into several areas. It may consist of an apparently foolish contradiction of common knowledge, a deliberately offensive insult to the readers of a newsgroup, or a broad request for trivial follow-up postings. There are three reasons why people troll newsgroups:
People post such messages to get attention, to disrupt newsgroups, and simply to make trouble.
Career trollers tend for the latter two whilst the former is the mark of the clueless newbie and should be ignored.
Section 2: Design Issues
A troll is no different to any other Usenet posting. That needs to be stressed. Any article that you decide to write should be written with a view to it actually being read by large numbers of people. Simply X-posting to large numbers of irrelevant newsgroups is not creative trolling - it is just spam and should be avoided.
The experienced troller spends time carefully choosing the right subject and delivering it to the right newsgroup. With trolls, delivery is just as important as the subject.
Start the troll in a reasonable and erudite manner. You have to engage your readers' interest and draw them in. Never give too much away at the start - although a brief abstract with hints of what's to come can work wonders.
Construct your troll in a manner to make it readable. Use short paragraphs and lots of white space. Keep line length below eighty characters. Use a liberal amount of emphasis and even the occasional illustration. A good rule of thumb is that as your troll becomes more and more ludicrous put extra effort into the presentation - this keeps the mug punter confused. Let confusion and chaos be your goal!
Section 3 Content Make your subject a relevant one. Posting "Star Trek Sucks" into hk.forsale is not going to work very well and is liable to utterly destroy your hard earned reputation as a troller overnight.
You do not have to make the subject clear. Trolls are aimed at two audiences, the respondees and the lurkers. The best trolls reveal their true subject only to the lurkers. In every sense those who reply to your troll are your tools. So choose a theme for your troll and stick to it.
Outwardly you need to appear sincere, but at the same time you have to tell your *real* audience that this is blatant flamebait. Your skill is shown in the easy way that you manipulate large areas of the Usenet community into making public fools of themselves.
Section 4 Newsgroup Selection
Choice of newsgroup is as important as the subject, tone and structure of the troll. You want to appeal to each group you X-post into to ensure responses from each group. A well delivered troll will anticipate what those responses will be and thus ensure that contradictions will
you wrote: > No, it's about a troll > that shows up in cll from time to time. Ignore him.
You are accusing me of being a USENET troll.
May i be a troll, but sometimes i think that my learning and issues and the bag of fire inside of me are too important for the progress of society to avoid appearances just because i might be called a troll. Sincerely, mind you, that i was either not going to reply, or going to launch into very serious issues about religion, and/or history of Europe, and torture, which will surely educate and as well as offend egregiously. The anger and injustice in me is such a potent impulse, but anyway i've decided to be light-hearted this time, and focus on the subject of trolling.
If you think i'm a troll, then you should know that the best response to a troll is to not respond. You are now a victim of troll.
i wonder how many readers here really understanding the term _troll_, and i'm certain that the majority have very little knowledge of the subject.
Acquaint yourself with online dictionaries:
dictionary.com merriam-webster.com (m-w.com)
You see that there are few predominant meanings:
1. to fish by trailing a lure or baited hook from a moving boat. 2. a Scandinavian folklore creature, mischievous dwarf-type that dwells under bridges or hills. 3. to stroll, patrol, wander, ramble
I can see that it all can contribute to the etymology of usenet troll.
1. v.,n. [From the Usenet group alt.folklore.urban] To utter a posting on Usenet designed to attract predictable responses or flames; or, the post itself. Derives from the phrase "trolling for newbies" which in turn comes from mainstream "trolling", a style of fishing in which one trails bait through a likely spot hoping for a bite. The well-constructed troll is a post that induces lots of newbies and flamers to make themselves look even more clueless than they already do, while subtly conveying to the more savvy and experienced that it is in fact a deliberate troll. If you don't fall for the joke, you get to be in on it. See also YHBT. 2. n. An individual who chronically trolls in sense 1; regularly posts specious arguments, flames or personal attacks to a newsgroup, discussion list, or in email for no other purpose than to annoy someone or disrupt a discussion. Trolls are recognizable by the fact that they have no real interest in learning about the topic at hand - they simply want to utter flame bait. Like the ugly creatures they are named after, they exhibit no redeeming characteristics, and as such, they are recognized as a lower form of life on the net, as in, "Oh, ignore him, he's just a troll." Compare kook. 3. n. [Berkeley] Computer lab monitor. A popular campus job for CS students. Duties include helping newbies and ensuring that lab policies are followed. Probably so-called because it involves lurking in dark cavelike corners.
Some people claim that the troll (sense 1) is properly a narrower category than flame bait, that a troll is categorized by containing some assertion that is wrong but not overtly controversial. See also Troll-O-Meter.
The use of `troll' in either sense is a live metaphor that readily produces elaborations and combining forms. For example, one not infrequently sees the warning "Do not feed the troll" as part of a followup to troll postings. </quote> --(^_^)--xah--(^_^)--xah--(^_^)--xah--(^_^)--xah--(^_^)--xah--(^_^)--
From here we see that there are two connotations. The first one is prone towards positive, the second negative.
I myself is a well-respected learned man, but every time i read something i pity myself for how little i know. It is a wonder to me, of common people we see daily on TV or streets (and in newsgroups), who have so many opinions and things to say about so many topics from personal issues to political issues, i often like to pet my ego and ask: Of the at least 2000 years of recorded human history, of the countless geniuses in the past, of the myriad of human subjects from sciences to arts, of the depth of the seas of knowledge, how many droplets have they ever spent examining in their pitiful life? Are all the people in history stupid? Are all human concerns in the past irrelevant to today's?
Here are few resources on the troll as a creature:
For coherence and integrity of my report on trolling, and for posterity of the good chance that this article might be unintelligible in a few months because all the urls referred to are gone, i'll reproduce the complete article below:
Section 1: What is a troll? Section 2: Design Issues Section 3: Content Section 4: Newsgroup Selection Section 5: Know Your Audience Section 6: Following-Up Section 7: The Successful Troll Section 8: Troll RFC
INTRODUCTION
The object of this post is to bring together a definitive document to cover the phenomena of the Usenet Troll. To many a troll is nothing more than an annoying method of defeating the killfile whereas to the heavily killfiled, trolling can be a virtual Godsend.
What I want this document to focus on is how to create entertaining trolls. I have drawn on the expertise of the writer's of some of Usenet's finest and best remembered trolls. Trolls are for fun. The object of recreational trolling is to sit back and laugh at all those gullible idiots that will believe *anything*.
Section 1: What Is A Troll? The WWW gives this as a definition:
troll v.,n. To utter a posting on Usenet designed to attract predictable responses or flames. Derives from the phrase "trolling for newbies"; which in turn comes from mainstream "trolling";, a style of fishing in which one trails bait through a likely spot hoping for a bite. The well-constructed troll is a post that induces lots of newbies and flamers to make themselves look even more clueless than they already do, while subtly conveying to the more savvy and experienced that it is in fact a deliberate troll. If you don't fall for the joke, you get to be in on it.
The following extract is from a broader expansion of the defining comments given above:
In Usenet usage, a "troll" is not a grumpy monster that lives beneath a bridge accosting passers-by, but rather a provocative posting to a newsgroup intended to produce a large volume of frivolous responses. The content of a "troll" posting generally falls into several areas. It may consist of an apparently foolish contradiction of common knowledge, a deliberately offensive insult to the readers of a newsgroup, or a broad request for trivial follow-up postings. There are three reasons why people troll newsgroups:
People post such messages to get attention, to disrupt newsgroups, and simply to make trouble.
Career trollers tend for the latter two whilst the former is the mark of the clueless newbie and should be ignored.
Section 2: Design Issues
A troll is no different to any other Usenet posting. That needs to be stressed. Any article that you decide to write should be written with a view to it actually being read by large numbers of people. Simply X-posting to large numbers of irrelevant newsgroups is not creative trolling - it is just spam and should be avoided.
The experienced troller spends time carefully choosing the right subject and delivering it to the right newsgroup. With trolls, delivery is just as important as the subject.
Start the troll in a reasonable and erudite manner. You have to engage your readers' interest and draw them in. Never give too much away at the start - although a brief abstract with hints of what's to come can work wonders.
Construct your troll in a manner to make it readable. Use short paragraphs and lots of white space. Keep line length below eighty characters. Use a liberal amount of emphasis and even the occasional illustration. A good rule of thumb is that as your troll becomes more and more ludicrous put extra effort into the presentation - this keeps the mug punter confused. Let confusion and chaos be your goal!
Section 3 Content Make your subject a relevant one. Posting "Star Trek Sucks" into hk.forsale is not going to work very well and is liable to utterly destroy your hard earned reputation as a troller overnight.
You do not have to make the subject clear. Trolls are aimed at two audiences, the respondees and the lurkers. The best trolls reveal their true subject only to the lurkers. In every sense those who reply to your troll are your tools. So choose a theme for your troll and stick to it.
Outwardly you need to appear sincere, but at the same time you have to tell your *real* audience that this is blatant flamebait. Your skill is shown in the easy way that you manipulate large areas of the Usenet community into making public fools of themselves.
Section 4 Newsgroup Selection
Choice of newsgroup is as important as the subject, tone and structure of the troll. You want to appeal to each group you X-post into to ensure responses from each group. A well delivered troll will anticipate what those responses will be and thus ensure that contradictions will
In article <3215365607202...@naggum.net>, Erik Naggum <e...@naggum.net> wrote: > * Erann Gat > | Why should I do your legwork for you, particularly when you have been so > | vocal in berating people who have expected you to do their legwork for > | them?
> I have? Could you please do the "legwork" and show me how you arrived at > this nutball conclusion?
I would (I accept that the burden is on me to find citations to support my claims), except that the only way I know how to find this information is with a search engine, and you don't seem to approve of using search engines:
> Glad to see you know how to use search engines. The concept of context > is forever lost on the crazy who think that the answer is in text > searches. I bet you even have your own archive of my articles so you can > be more efficient in finding "incriminating" evidence. Nutcasese who do > this virtually _flood_ USENET.