I keep trying to close down this thread but you keep bringing me back in. Let me make two more comments about if* to counter recent ludicrous arguments against it.
1. One thing we can tell Java programmers that Lisp has they don't are macros. We can tell them that they will forever be stuck programming in simple Java statments whereas we Lispers are free to build the Lisp language into whatever form we find best allows us to write the program we wish to write. This certainly impresses the Java programmer who then asks; "please show me some examples form your code repositiories of how you've use this powerful macro facility to build on the Lisp language." At this point you must reply, "well...err.. we've decided that it's antisocial to use this feature of Lisp. We resign ourselves to writing only using the forms given in the Common Lisp spec."
The Java guys says,"so you're actually no better off than us."
Given the sentiment *against* using the Common Lisp as it was designed (as as the Lisps before it were designed), I'm proud to be able to put out code that demonstrates the very important language extension features of Lisp. Maybe someone will realize "hey, I can do that too" and find Lisp to be a much better tool for the application than Java.
2. I read all this about "publishing code" as being analogous to publishing a book and it only convinces me that the writer has never published code. Books are static things. They are written, painstakingly edited, then printed and they sit on the shelf for years. Code on the other hand is often an example of a work in progress. The AllegroServe code I publish doesn't go through a month long review by an editor before it's put on the ftp site. It is simply a snapshot of the current version of the source probably less than a week old. It's critical that the code be reliable and I will use every tool Lisp has to offer to make it so, including ***macros****. I am not going to lower the reliabilty by making it less readable to the person doing the development on it (namely me).
>> It's all definitely _not_ reflecting well on Franz...
This is *your* opinion and based on the feedback I've gotten it's thankfully a small minority opinion.
* John Foderaro | I live in what's called the real world though.
Yes, this is indeed every psychotic's favorite line. People who need to point out the dichotomy between the "real world" and somebody else's line of arguments has already established that _they_ believe in the dichotomy to begin with. People who actually share the same reality with everybody else know that such a dichotomy is prima facie evidence of a psychosis. So when a person invokes the "real world" argument, you know a few things about that person: He has _personal_ experience with "non-real worlds" _and_ he is either so stupid that he thinks such an argument will hurt anyone but himself _or_ he thinks that his audience is so stupid they will not see through his pathetic attempt at an insult. All in all, a fantastically _idiotic_ thing to say.
| In my world you can find references and actually prove things.
Yes, I am quite sure that your world is like that. This admirable "real world" of yours looks like a term paper. It probably only consists of that which can be proven, and that which cannot be proven from "first principles", i.e., John Foderaro's personal belief system, does _not_ exist. In other words, the "real world" you live in is a figment of your imagination because it only consists of things you can prove within it from things you believe to be true _without_ evidence. This desire for "proving things" is _also_ quite pathological. Lots of nutcases have become that way because they can prove all _sorts_ of weird things.
The set of truths that cannot be "proved" is vastly more interesting than those that can. The desire to "prove" certain claims is simply a desire to move the point of trust to something else, a process that terminates at something that people agree to take for granted. However, they do not agree to a whole lot of things when push comes to shove, and most people are generally unaware of their thinking processes to such an extent that they do not recognize fairly obvious idiocy. Some are even so goddamn stupid that they think invoking the "real world" argument helps them. In our particular case, my several years of philosophy studies will beat you into a pulp before we get to these first principles, because you are so unaware of yourself that your desire for proof and evidence looks lika a joke you play on people for effect, if it is not evidence of arrested development, but I am generous today and do not think so. I mean, people who are not trained in philosophical thinking will probably regard your statement above as pretty clever. To "prove things" has such high merit in our scientific society that many people tend to think of it as an unconditional value. However, human _understanding_ does not go by way of proofs, but by way of things making _sense_. Only a very small number of fields are subject to lines of argumentation that can look like they "prove things". In fact, the biggest problem we have is that the most important fields of human endeavor are _not_ subject to such proofs, like what and how we _value_. If I understand your previous rantings and ravings correctly, you consider such things to be "religion". This is, again, an _amazingly_ stupid attitude.
Only a nutcase will think reducing _everything_ to the point where proving things is of value in a _discussion_. Now, can I _prove_ this? Or is it sufficient to argue for it so people believe it makes sense? To most intelligent people, proving things like that means showing that it follows from more fundamental findings and principles. The problem is that those are usually _more_ contentious than the conclusion, because the people who are into this kind of stuff are _professional_ quibblers and this stuff is actually tremendously hard. There is no point at all in formalizing the process. It is _only_ used by people who think that they will not be exposed as nutcases for "requiring" proof of everything, but instead succeed in bullying people into shutting up if the cannot cough up the "proof". The way to deal with such nutcases is to point out that a proof means exactly _nothing_, and lacking a proof means exactly as much, in a debate, that is. Reducing a particular argument to its most fundamental premises is a useful exercise, but it has absolutely nothing to do on a USENET newsgroup. This is evidenced by the fact that Mr. Proof himself, John Foderaro, never proves anything of importance, and especially not why proving things is so valuable -- that is just taken for granted. Well, I disagree, so where does that leave us? Oh, John Foderaro has the answer: Either I am "religious" or I do not live in the "real world" or something like that. Only nutcases argue that way.
| In the past I've asked you to back up statements you've claimed I've made | and each and every time you have failed to do so (because you couldn't do | so).
But curiously, you are not backing up your own statements. This claim is in fact false -- and people do remember it. It is fascinating that you set yourself up to be shot down so easily by using one of the incompetent rethorician's favorite words: "every". A single counter-example, and you are _dead_ as far as your "proofs" and arguments go. The counter-example is when you claimed that I had said that you could not use if*. I have pointed out that I had in fact asked _Franz_Inc_ not to _publish_ code with if*. You go find it, who are so good at googling.
Incidentally, there are a number of really wacky people out there. They read google like the Devil reads the Bible, and love every minute of it: If you are sufficiently insane, you can "prove" anything by picking news articles. One of the most interesting things about people who argue with other people is that if they actually are able to learn from the debates they engage in, they will change their views. Amazingly, to the google- lovers, this is considered "proof" that they are inconsistent! Can you even _imagine_ a worse abuse of logic than this? The whole _purpose_ of a discussion is to change people's minds, to impart information to people who use it to form and reform their opinions and conclusions. The only reason someone does _not_ change their views is if they do not _listen_. _This_ is the hallmark of the nutcases: Their minds are closed, fixed, frozen. Now, add to this point how difficult it is to "prove things". For something to be proven, you have to have a solid chain of arguments that each are proven valid and true _all_ the way down. If you change your mind, that means your previous conclusions were wrong, because your previous conclusions were not fuzzy opinions that could be "uncertain", but _proven_. To revise an opinion thus proven means that something far more important must be revised, and that has serious repercussions for a lot of other things, so "proof people" are much harder to convince than people who argue by the seat of their pants, as it were. A person who lives by proofs, will die by proofs. The more you prove, the less freedom you have to be wrong. The less freedom you have to be wrong, the less you can hold in limbo and allow to be _uncertain_ and "for further study", yet still treat as valid enough to base hypotheses on that can be tested. The problem for people who think that "to prove things" is a value is that _if_ they are wrong, it has far-reaching consequences for their belief systems. Therefore, a person who believes that "to prove things" in an open discussion is a value is a person who is willing to _bet_ a very large part of his belief system on being right. This is dangerous, because whatever you _have_ believed in the past was based on what you knew then. The more you know, the less likely it it that your old conclusions will continue to hold. It should be obvious that this translates to a psychological dilemma: Shut down your brain and protect your sanity, or keep accepting new information from the outside world and see your proofs crumble and need to be rebuilt over and over, going insane sooner or later. The most common solution to this problem is not what you would expect: To drop the silly notion that everything be proved or at least provable, but to deny new information that challenges one's existing conclusions. At one point or another, "proof people" will make the mistake of valuing past conclusions higher than future conclusions.
In our case, we have a certifiable nutcase who invokes the "real world" and who calls those who disagree with him "religious", who also needs to "prove things", but who does not _accept_ any of the proof he receives. We have a person who is in deep denial of his own wrongdoing, of the fact that he really _is_ a very, very bad guy, and of the fact that if he really is concerned about good behavior, he has a lot of cleaning up to do at home before he can dole out credible advice about it.
| I have no interest in learning about the world inside your head. It | looks like a very dark place.
You obviously speak from personal experience, but listen to people close to you who tell you that your experience is not usable for extrapolation about any other person without further justification. Just because you experienced it does not mean it was not _because_ of you and therefore not valid for anyone else -- that part has to be established separately and independently, especially if you are serious about "proving things".
| I'm sure that everyone on this newsgroup is sick of this 'discussion' | between you and me.
If you _really_ thought so, you should simply have avoided replying. But you never seem to grasp that anything you say applies to yourself, as if you are a mindless cretin who just
In article <MPG.165cdb7251705b1b989...@news.dnai.com>, John Foderaro wrote: > I keep trying to close down this thread but you keep bringing > me back in.
Mr Browne,
Soon you too shall be called Erik Naggum.
[some krap removed]
>>> It's all definitely _not_ reflecting well on Franz...
> This is *your* opinion and based on the feedback I've gotten > it's thankfully a small minority opinion.
that is correct *everyone* who disagrees with you is Erik Naggum. So there is only 1 person, if he really exists that is, who disagrees with you in the *whole* world
* John Foderaro -> Christpher Brown (uncredited in original message) | I keep trying to close down this thread but you keep bringing | me back in.
It is not his fault that you keep replying, you dork. Just shut up if you think that is what you should have been doing. I happen to agree violently, but do not let that stop you. The world does not become any better just because you feel you need to post something. It does in fact become a lot worse when you keep posting your drivel. _My_ drivel is of course so valuable to mankind that it will be included in future editions of the Encyclopaedia Galactica. All of it. But nono of yours. Hint.¹
| This is *your* opinion and based on the feedback I've gotten it's | thankfully a small minority opinion.
Every lunatic on USENET uses the volume of received e-mail to establish his popularity or that of his views. It has become the most used proof of popularity, sanity, whatever: It matters a great deal what people you have no idea who might be have said in e-mail you have not seen. Of course it does, come one! Random customer endorsement on TV works, so why not on USENET, too? Really!
Why would _anyone_ subject themselves to mailing you any form of critical, insightful comments about your moronic macro? Just look at what you do to people who try to make you _think_ in this newsgroup! Man, for someone who makes a moronic point about "proving things", you sure lack the basics in thinking skills when it comes to evaluating the evidence. I wonder if the huge volume of positive feedback is what keeps you going. I wonder if those who mailed you positive feedback feel a little responsible for what you keep doing and now regret it vehemently.
Oh, _I_ got a wonderful letter from an author whose book I recommended on USENET not too long ago, and the auhtor said I understood the book. Woohoo! Am I great or what? Of course, I could be lying. In fact, you have _no_ way to know if this is true or not. As such, it has absolutely _no_ value as an argument or even supporting evidence for anything whatsoever -- the author could be misled by the way I expressed myself and it just looked like I had understood the book, or the author could just be overly happy that _somebody_ looked like they understood the book and entice me to into a discussion. But suppose I take it at face value, and suppose it is true, does it have _anything_ but strictly personal value for me? No. Had the author gone public with the comment, it could have. Am I now entitled to speak for the author? No. Can I drop names and impress people with it? No. It has _no_ public value whatsoever. That is the nature of an undisclosed personal mail. Even referring to personal mail must be considered unethical because it carries absolutely _no_ weight in a public forum, but some unthinking people may not see that what such an argument says is _only_ that he who utters it is a jerk with an ego problem.
Instead of being remembered as the "prove things" guy, John Foderaro is on his way to becoming known as the "backfire" guy. No wonder he wants this to be over. But did that work? No. This time, it was not _his_ fault that he was "brought back in". Other people will "keep bringing him back in" all the time. Never will he grasp that _he_ needs to sit still and take the abuse like he wants other people to do. But it will be fun, for a couple days or so, to see if he needs to "defend" himself.
Now for a scary thought: Maybe he meant all the _positive_ feedback he has received here in comp.lang.lisp? I mean, if he lives in the "real world" where he can "prove things", as opposed to the only one the rest of us live in, who knows what the public disdain for if* translates to.
Another scary thought: If people send him positive feedback, does he request that they prove it? If he does _not_ accept negative feedback without accompanying evidence and proof and everything, but _does_ accept positive feedback without any such thing, somebody could simply mail him what looks like positive feedback and just be playing mind games with him. I would do that. I would rattle off a mail like "Yo, dude, I love your if* macro!" and laugh my ass off. This probably accounts for half of the positive messages he has received.
Yet another scary thought: For a person who has accused other people of flaming everybody who disagrees with him, let us look at how he sorts his mail: Those who agree with him are considered valuable feedback and are carefully counted. Those who do _not_ agree with him are discarded as "that is *your* opinion". That this arroagnt response does not apply to the feedback that supports his demented view is rather alarming. Of course, those who have provided him with "feedback", real or imagined, deserve a "that is *your* opinion" and be counted at least as carefully as all the Al Gore votes in Florida, like, not.
Finally, the last scary thought: John Foderaro _actually_ believes that it helps his case to refer to "feedback" he has received without proof of any kind. For all we know, it just another stupid tactic by the dishonest manipulator to make people who express disagreement with him _feel_ bad, for being in a "small minority". Since he was in a _very_ "small minority" when the ANSI standard was hammered out and his stupid little if* stunt, not to mention the upper-case names issue, was voted on, we can visualize the pain he intends to inflict on people who are in "small minorities": John Foderaro knows how much it hurts to be alone with the world's most brilliant invention, and now it is your turn to feel the pain of being _alone_ with *your* opinion. Ouch, indeed.
/// ------- ¹ If you did not understand that this was a joke, get yourself committed TODAY. -- 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.
Wow. that was some post wasn't it? Now he's arguing against proofs, the foundation of science.
>> The desire to "prove" certain claims is simply a desire >> to move the point of trust to something else, a process that terminates >> at something that people agree to take for granted
I don't care what Erik thinks. I haven't cared for a long time but I've made the mistake of trying to reason with him since I thought that I could get through to him. With each message he gets further and further away from reality so that was a bad strategy.
When I asked him for proof of things I wasn't asking that he turn his messages into some mathematical proof. I was only asking one simple thing: If he stated that I said something that he show via a link to an article on Google where I did that. I only made that request because he started repeatedly telling you that I said things that I didn't say. The link in my last message was to the cap of the thread where I'd made that request for proof of those quotes, which of course Erik failed to then come up with since he had invented the whole thing inside his head.
I think that all of us say enough things on this newsgroup to make into an interesting discussion. There's no need to invent quotes just to argue against. It's a great disservice to this newsgroup and it's pure character assasination to continuously libel someone. Erik desperately needs an enemy to fight against and if he gets his wish and convinces me to leave this newsgroup then he may well go after one of you,so don't think you're safe.
I was able to shut Erik's liess up a few months ago when Iasked to to prove that I'd said certain things. Now like a bacteria that's mutated he is back in a form that's impervious to my requests for that he prove the quotes he attributes to me. Now proofs are worthless. What he has in his mind is correct whether it happened or not.
So all I'm asking is that you realize that what he states are fact may well be false (and if the facts are about me there's a 99% chance that they are false and simply a rhetorical device he'll use to draw some crazy conclusion).
Erik Naggum <e...@naggum.net> writes: > * John Foderaro > | What good is it establishing a standard if you don't follow it?
> Funny you should ask... But it clearly applies only to your own.
Yesterday I went to look at the inflate.cl source to check if the if* macro is still there -- and it was. And no extended loop, when or unless in there (although I think the code would be a lot more readable if when and unless was used instead of the (if* ... then ...) or (if* (not ...) then ...)).
And one more thing I couldn't find the explanation of in the John's "Coding Standards" page is the use of single semicolon comments. I once tried to add something to the AServe code, and when I tried to indent it, all those comments went where they should, not where they were put; Franz's ELI knows how to indent if*, but these single semicolon comments are still treated the way I expect it to be, which is a good thing. Now I keep my additions in seperate files (which use extended loop when appropriate and only standard conditionals) so as to not have to edit the code where I have to either update most comments to the community agreed-upon way (or to place them manually whenever I reindent the code, what is silly).
I actually once used the if* macro -- but after some time of using it I found cond a lot more readable.
And if it is not still clear, I think the if* macro is bad exactly for the reason Erik speaks about -- complete disrespect for community.
<j...@unspamx.franz.com> wrote: > I keep trying to close down this thread but you keep bringing > me back in. > Let me make two more comments about if* to counter recent > ludicrous arguments against it.
> 1. One thing we can tell Java programmers that Lisp has they don't > are macros. We can tell them that they will forever be stuck > programming in simple Java statments whereas we Lispers are free to > build the Lisp language into whatever form we find best allows > us to write the program we wish to write. > This certainly impresses the Java programmer who then asks; "please > show me some examples form your code repositiories of how you've > use this powerful macro facility to build on the Lisp language." > At this point you must reply, "well...err.. we've decided that > it's antisocial to use this feature of Lisp. We resign ourselves > to writing only using the forms given in the Common Lisp spec."
> The Java guys says,"so you're actually no better off than us."
I'm just playing with CL, but I use Dylan for real work. In Dylan programs, I find that i use marcos a lot, but usually the use of them is really localized and you can see the definition from where you use it.
As a publicly available example, in the ICFP2000 contest Ray Tracer program, viewable at...
Each "define unary-primitive" is a macro that adds three different methods to two generic functions for compiling and optimizing those opertions in the compiler for a toy language. We also had ...
... where each line defined both integer and floating-point primitives, and each of those consisted of five methods added to three different Generic Functions.
Elsewhere in the same program we used a macro to build a lexer from a very readable description format.
This was in a contest entry written to a 72-hour deadline. We didn't use macros to be funny or clever. We used them to save us time in writing the program, understanding it, and debugging it.
I sympathize with the lack of acceptance of your IF* macro, which I think may well be better than what is standard in CL, but at the same time I'm not sure that it's *enough* better (or enough different) to what is already there that it is worth people changing.
> Maybe he idolizes Erik so much that he tries to copy > him in every way.
I wish he would, actually. Erik's posts also include some accurate, informative and entertaining articles about Common Lisp, which are written in good English and correctly spelled.
In article <87wv0se2hn....@asaka.latnet.lv>, jo...@latnet.lv says...
> And if it is not still clear, I think the if* macro is bad exactly for > the reason Erik speaks about -- complete disrespect for community.
I've got a few questions:
1. how many members of the community did you poll for their opinions before drawing this conclusion in their name?
2. are you in favor of removing all macros from the Common Lisp language? If the answer is no, then do you have a algorithm for determining if the use of a given macro shows disrespect for the Common Lisp community? If there is no algorithm would you advocate appointing a Pope of Common Lisp to decide if a given macro respects or disrespects the community?
John Foderaro <j...@unspamx.franz.com> writes: > 2. are you in favor of removing all macros from the Common Lisp > language?
No.
> If the answer is no, then do you have a algorithm for determining if > the use of a given macro shows disrespect for the Common Lisp > community?
Yes:
1. Does the macro provide something substantial beyond what is provided by the operators defined in the ANSI CL standard?
2. The opposite answer to the question in step 1 is the return value of the algorithm.
There can still of course be contention about what "something substantial" is, but to me it seems quite clear that if* doesn't do anything the standard conditionals don't already do well enough.
I think I'd prefer to label such macros antisocial rather than disrespectful, though. It's like saying "I don't want to be a part of the CL community", which of course is your choice.
The obvious question is this: What if everyone else did what you do? Reading and sharing CL code would be a _lot_ more problematic. Neglecting to ask oneself this question and to act on it, is antisocial in my book.
In article <2hn11o6qkf....@dslab7.cs.uit.no>, fro...@acm.org says...
> There can still of course be contention about what "something > substantial" is, but to me it seems quite clear that if* doesn't do > anything the standard conditionals don't already do well enough.
How can it be so clear to you when you face evidence to the contrary (that evidence being me at least and you can assume there are others)? We bemoan the fact that C programmers take one look at the Lisp syntax and say "yuck, I can't program like that.". We know that if we can get them over the hurdle and starting to program in Lisp many will realize the power of the Lisp syntax. So when you said that it was clear that if* didn't do anything substantial was that based on a snap judgement or did you actually do some work with it over a period of time?
You also realize that reasonable people will disagree on whether something is a substantial enhancement or not. Thus you'll need an unquestioned leader to make the decision or else the community will split many ways. Thus I'll put you down for wanting a Pope of Common Lisp.
> The obvious question is this: What if everyone else did what you do?
I would thank them for the code they contributed. I would look at what they had done and try to understand what benefit the macros had over what I was using myself and I would take their ideas (to the extent it was legal to do so) and make my own programs better.
In article <87itcdm8ew....@noetbook.telent.net>, Daniel Barlow wrote: > John Foderaro <j...@xspammerx.franz.com> writes:
> [ Marc Spitzer ] >> Maybe he idolizes Erik so much that he tries to copy >> him in every way.
> I wish he would, actually. Erik's posts also include some accurate, > informative and entertaining articles about Common Lisp, which are > written in good English and correctly spelled.
> -dan
I am working on it, its just slow going. Some of the stuff I come up with ispell tells me to go away. Or better yet I manage to misspell the word into another different word.
John Foderaro <j...@xspammerx.franz.com> writes: > You also realize that reasonable people will disagree on whether > something is a substantial enhancement or not. Thus you'll need an > unquestioned leader to make the decision or else the community will > split many ways.
The "unquestioned leader" is the community compromise known as the ANSI CL standard. Being part of a community usually involves making compromises, and in this context of programming languages it seems to me that agreeing on how to express primitive conditionals reasonably fall into the "required" category for being part of a community.
I think it's unreasonable to claim that "slightly improved indenting in some people's view" is a substantial enhancement for such an important part of the language.
> Thus I'll put you down for wanting a Pope of Common Lisp.
This is ridiculous.
>> The obvious question is this: What if everyone else did what you do?
> I would thank them for the code they contributed. > I would look at what they had done and try to understand > what benefit the macros had over what I was using myself > and I would take their ideas (to the extent it was legal > to do so) and make my own programs better.
I think that after having learned about 5 random pet syntaxes that provide essentially nothing beyond what standard operators do, you would be sick and tired of it.
In article <2heln06laj....@dslab7.cs.uit.no>, fro...@acm.org says...
>> The "unquestioned leader" is the community compromise known as the >> ANSI CL standard. Being part of a community usually involves making >> compromises, and in this context of programming languages it seems to >> me that agreeing on how to express primitive conditionals reasonably >> fall into the "required" category for being part of a community.
There has never been any question that an otherwise ANSI compliant program using the if* macro along with the source for the if* macro results in a 100% ANSI compliant common lisp program.
So the ANSI spec is out of this. Now we're down to people making judgment calls and all the people agreeing to relinquish their freedom to one supreme leader (or committee) who will tell them if their code is immoral/disrespectful/unsubstantial.
Since this kind of judgment is clear to you let me ask you to pass judgment on three things. You can't hedge. You must make a judgement, the community is counting on you.
1. suppose I have a macro +$ that puts fixnum declarations around everything in a + (+$ a b c) => (the fixnum (+ (the fixnum a) (the fixnum b) (the fixnum c)))
Is +$ moral/respectful/substantial?
2. suppose I have +% which is simpler and just declares the result to be a fixnum
(+% a b c) => (the fixnum (+ a b c))
Is +% moral/respectful/substantial?
3. regression testing is important to find bugs and ensure they come back in. One question you always have about your test suites is "how much of my code is really being tested?" One way to measure test coverage is to put meters at all branch points in the code and count how many times each branch was taken while the test suites were run. If the count is zero for any branch you should investigate why you aren't testing that branch. Suppose I modify if* so that it if a certain switch is set when code using it is compiled. it puts meters at the beginning of all the 'then' clauses (each if* can have multiple then clauses). This will give an approximate idea of the test coverage (only approximate since there are other ways of doing branching than if*) however it will point out all of the branches within an if* that were *not* taken and that's useful information.
So we've got an if* that normally works as it does now but can go into test mode and insert metering.
>In article <2heln06laj....@dslab7.cs.uit.no>, fro...@acm.org says... >>> The "unquestioned leader" is the community compromise known as the >>> ANSI CL standard. Being part of a community usually involves making >>> compromises, and in this context of programming languages it seems to >>> me that agreeing on how to express primitive conditionals reasonably >>> fall into the "required" category for being part of a community.
> There has never been any question that an otherwise ANSI >compliant program using the if* macro along with the source for >the if* macro results in a 100% ANSI compliant common lisp program.
> So the ANSI spec is out of this. Now we're down to people >making judgment calls and all the people agreeing to relinquish >their freedom to one supreme leader (or committee) who will tell them >if their code is immoral/disrespectful/unsubstantial.
I don't think if* is disrespectful but the objection may be that it is _too_ substantial.
I think that people don't really like complicated macros for some reason. If the macro is doing mere visual rearranging, of a template sort, they don't seem to mind, but if it involves keeping track of the macro's subforms in an accumulative fashion, something defensive goes off. It's almost as if you gave someone a Pushtu-to-English dictionary and a grammar of the Pushtu language in English, proceeded to speak Pushtu, and then claimed you were really only speaking English because the dictionary and the grammar constitute a macro.
Why this judgment call (for CL, not for English) I don't know. I seem to share in this feeling that a non-template-esque macro somehow changes the language in a non grata way. But I recognize it's just a feeling and not something solider.
Thank you for _proving_ that you had _no_ intention of ceasing your posting. I knew that, everybody else knew that, but now you know it, too. But do you remember this paragraph in the article you reply to?
By replying to this post, you acknowledge that you are mentally ill and have a severe need for self-affirmation that you do not get from anyone around you because you regard yourself as the single most brilliant person to inhabit the entire West coast of the United States.
Thank you for following up and acknowledging this. I am happy that I was right about you, once again.
But, geez, pathetic intimidation actually _is_ part of your psyche. I actually expect to get a "wuz I talkin to you?" back, now.
| Now he's arguing against proofs, the foundation of science.
USENET is a branch of science? *LAUGH* I am arguing against the applicability of proofs to "win" arguments on USENET, you idiot. That "technique" is only used for intimidation by the _really_ insane, here.
| I don't care what Erik thinks.
Oh, you pathetic liar.
| I haven't cared for a long time but I've made the mistake of trying to | reason with him since I thought that I could get through to him.
How is it possible to reason with someone you do not care what thinks? How would you _know_ if you got through to anyone if you do not care what they think? _Why_ would you try to reason with someone you do not care what thinks? This is _so_ stupid and pathetic.
| With each message he gets further and further away from reality so that | was a bad strategy.
Yup, John Foderaro is the judge of what reality is and not. The insane have a strong tendency to want to monopolize what can be considered "reality". Their _only_ claim to living in reality is that they are able to create it all on their own. Congratulations, John. Good work.
| I was only asking one simple thing: If he stated that I said something | that he show via a link to an article on Google where I did that.
This is a pretty fascinating request for a person who does not even cite which news articles he is responding to.
When you do get such references, you just shut up for a while. Everybody here knows that. It is very, very annoying.
Incidentally, the way we do references on USENET is with message-IDs.
| I only made that request because he started repeatedly telling you that I | said things that I didn't say.
Really? Where are all the references to articles where I did that? Should you not have provided a lengthy list of message-IDs that shows all of this, yet proves absolutely nothing because you are known to omit all the evidence that goes against your arguments.
| The link in my last message was to the cap of the thread where I'd made | that request for proof of those quotes, which of course Erik failed to | then come up with since he had invented the whole thing inside his head.
I would like some references and some proof of this, please. Can you _prove_ that it was invented inside my head? If not, it is not only some false crap, it is a disingenious lie, right? And you wanted proof that you were lying. So now you can either prove what you claim, or accept that lack of proof means you lie. Because that is what you think a lack of "proof" means, is it not? Even though this is astonishingly stupid and anti-scientific, I think it is fun demonstrating that you are not able to meet the demands you make of others.
| I think that all of us say enough things on this newsgroup to make into | an interesting discussion. There's no need to invent quotes just to | argue against.
Then why do you do it? You made a large number of claims that I said things that I did in fact not say. What was that? For instanace, you said that I said _you_ could not use the if* stupidity, but what I have actually and repeatedly said is that publishing code is done not by you, but by your company. You never replied to that, did you? Just as you never reply to anything that demonstrates you are wrong.
| It's a great disservice to this newsgroup and it's pure character | assasination to continuously libel someone. Erik desperately needs an | enemy to fight against and if he gets his wish and convinces me to leave | this newsgroup then he may well go after one of you, so don't think | you're safe.
Funny you should talk about character assasination in that paragraph. I am beginning to think you are actually so incredibly unconscious that you fail to understand what you are doing.
| I was able to shut Erik's liess up a few months ago when I asked to to | prove that I'd said certain things.
You were? Can we have the message-IDs and some other references for this? And are you sure _you_ were able to do anything at all? You ask people to prove things all the time, and nobody does, because it is such a pathetic stunt, but just like an overly mystical person who prays to his pet rock every night, whatever he prays for has to come true some day, but there is no causal link. Taking credit for something like that without proof is so _unscientific_. And USENET is a science, right?
| Now like a bacteria that's mutated he is back in a form that's impervious | to my requests for that he prove the quotes he attributes to me.
Yes, I am sure you are the only person on the planet who can use Google. But we do not engage in such childish behavior on USENET, you moron. The reason you do not get a response to your intimidation is that it is so fucking stupid that people look at you and wonder what you are made of. You see, your style of intimidation is incredibly _unintelligent_. It would be self-destructive for anyone to take you seriously. That is what you want, obviously, but you are not the lone genius you think you are. You are in fact quite stupid and considering that you do not figure even the simplest things out until it is too late, probably not particularly intelligent, either, just the smartest among those you could intimidate. Considering that you are unable to read code that uses when and unless and loop and normal if, people are free to think you have a very limited intellect, and that the if* stunt is a necessary counter-measure so you can deal with code not in the _only_ style you can handle. Everybody else is able to read and deal with code in a variety of styles, but you are not. What do you think this says about you? You have never thought about it, have you?
| What he has in his mind is correct whether it happened or not.
No, that is only yourself, John Foderaro. Other people are not like you.
| So all I'm asking is that you realize that what he states are fact may | well be false (and if the facts are about me there's a 99% chance that | they are false and simply a rhetorical device he'll use to draw some | crazy conclusion).
No, that is only yourself, John Foderaro. Other people are not like you.
Thank you again for proving that you had no intention of quitting unless you could pretend to be on top of things. It is quite amusing to watch how you lie about wanting to quit. "Let's call it over" is a direct quote from you, in an article where you, as always, begin by attempting to insult me. What, precisely, did you _mean_ by "let's call it over"? I think it means "Let's let the pathetic loser John Foderaro win, pretty please!".
Now, please let us see you back up your claims with references and proofs. If you recognize, as I think you actually do, that this is an intimidation technique and nothing else, which you will acknowledge by not providing _any_ message-IDs, the time has come to "out" John Foderaro as a person who is unable to follow his own advice, simply because it is not advice, it is _only_ his incredibly stupid bullying.
So let's call it over, John. Do not reply to this message. OK? Good.
/// -- 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.
John Foderaro <j...@xspammerx.franz.com> writes: > So the ANSI spec is out of this.
No it's not. The ANSI standard also helps people reading code, not just the computer. It is not my concern that computers will not be able to compile if*.
> Now we're down to people making judgment calls and all the people > agreeing to relinquish their freedom to one supreme leader (or > committee) who will tell them if their code is > immoral/disrespectful/unsubstantial.
I'm not saying if* is immoral. I find it anti-social, somewhat like a child refusing to wear clothes in public, unwilling to relinquish that freedom to the "supreme leader" that has installed the custom of wearing some minimum of clothing in our community. Or perhaps more like myself insisting on writing in my native language in this news group because I find it much more aestethically pleasing or whatever.
> Since this kind of judgment is clear to you let me ask you to pass > judgment on three things. You can't hedge. You must make a > judgement, the community is counting on you.
I don't think your examples/questions are very relevant, because they deal with what I'd consider a very specialized task of optimizing what would have to be a very particular sort of application for requiring so many fixnum declarations as to warrant such macros. This is simply nowhere near as important or ubiquitous a concept as the primitive conditionals.
For example, someone recently asked here why he couldn't specialize the equal function for his own user-defined type. Suppose he decided it would be really nice to be able to do this, and he added his own generic function "test" that he'd consistently use in place of equal. I'd advice against this on pretty much the same grounds I'd advice against using if*.
I agree with you that there may be borderline cases as to what is important and basic functionality, and what is substantial enhancement. But if* is just not a borderline case, in my opinion.
> [...] So we've got an if* that normally works as it does now but can > go into test mode and insert metering.
> Is if* now moral/respectful/substantial?
I suppose for the same reason you will add your own defun*, defmethod*, and so on? And then make use of the star operators mandatory, so that metering will not miss out on half the execution paths? Then what have you achieved? A new lisp* that allows every operator in the common-lisp* package to be redefined, a feature that certainly would be useful at times, but which was rejected for Common Lisp for good reasons. I think it would be a very poor design for a regression test package.
I'm disappointed that you failed to answer the three simple questions I presented. I think that what we've learned here is that is silly to talk about a macro being antisocial, immoral or insufficient on a community level. This kind of talk falls apart when you are now faced with making judgements about other macros and variants of existing macros. You simply couldn't do it so you hedged and gave excuses.
John Foderaro <j...@xspammerx.franz.com> writes: > There has never been any question that an otherwise ANSI > compliant program using the if* macro along with the source for > the if* macro results in a 100% ANSI compliant common lisp program.
Provided if* is included in the program. Otherwise, it is an ANSI-compliant program fragment. It is really written in Allegro or whatever, which may itself be complian.
People would think it misleading to merely say "I've written an ANSI-compliant library that draws pie charts". I think you have to add "and it's written in CLIM [or CAPI or GOMMON-GRAPHICS or whatever]" or else you are being, at best, highly misleading. And people *do* routinely make such disclaimers/disclosures.
| 1.5.2 Conforming Programs | | Code conforming with the requirements of this standard shall adhere | to the following: | | Conforming code shall use only those features of the language syntax | and semantics that are either specified in this standard or defined | using the extension mechanisms specified in the standard.
Note that this does nto say "possible to define" but "defined".
Certainly nothing precludes such definition
| Conforming code may use implementation-dependent features and | values, but shall not rely upon any particular interpretation of | these features and values other than those that are discovered by | the execution of code.
I think this allows you to do things like #-Franz (load "franz-if") *if* (pardon the abuse of if and *'s here) you provide the franz-if library as part of or in conjunction with the program. If you simply observe its existence, I think you're on shakier grounds for a conformance claim unless you advertise that you have a program whose conformance is contingent on the consumer of your product doing this.
| Conforming code shall not depend on the consequences of undefined or | unspecified situations. | | Conforming code does not use any constructions that are prohibited | by the standard. | | Conforming code does not depend on extensions included in an | implementation.
I think this says that conformance does not happen by accident. It happens by careful design to assure that the dependencies you create are not left to be resolved by accidental use of a particular implementation that agrees with your discretion, but are resolved by intentional and explicit use of conforming code that bridges the gap between any (not just a selected) processor and the program in question.
Certainly nothing precludes the packaging of this into separate libraries. But if A is conforming and B depends on A to be conforming, then these are conforming: A, B+A; and these are not, a priori, conforming: B.
====
Of further relevance is the following, from the Better Business Bureau's "BBB Code of Advertising", which all members of the Better Business Bureau (don't know if that's you)
| 20. Unassembled Merchandise
[By this, I assume they mean source code that has not been through a compiler and assembler. Heh... No, really, I think source code *does* count as a product that requires assembly in the classical business sense. It does not work out of the box without special setup actions required by the user. -kmp]
| When advertised merchandise requires partial or complete assembly by | the purchaser, the advertising should disclose that fact, e.g., | "unassembled," "partial assembly required."
This is only a "for example" list, and I personally infer it to mean "parts obtained from other sources required". I'd be VERY surprised if the BBB complaint resolution division would think otherwise. This follows from item 3 of their basic principles:
| 3. An advertisement as a whole may be misleading although every | sentence separately considered is literally | true. Misrepresentation may result not only from direct | statements but by omitting or obscuring a material fact.
In article <2hadxn7vp2....@dslab7.cs.uit.no>, "Frode Vatvedt Fjeld"
<fro...@acm.org> wrote: > John Foderaro <j...@xspammerx.franz.com> writes: >> So the ANSI spec is out of this. > No it's not. The ANSI standard also helps people reading code, not just > the computer. It is not my concern that computers will not be able to > compile if*.
We don't demand that literature be understandable to those with only a grade school education; nor do we have a similar expectation for programs.
> I'm not saying if* is immoral. I find it anti-social, somewhat like a > child refusing to wear clothes in public, unwilling to relinquish that > freedom to the "supreme leader" that has installed the custom of wearing > some minimum of clothing in our community.
Heh. That kind of behavior would make me think "Yeah! Fight the power!" To each is own. It's clear to me that a macro is not immoral unless perhaps it contains a documentation string like "By viewing use of this macro you agree to serve as John Foderaro's personal towelboy on demand."
On the other hand, one can make judgements of taste about macros and programming style in general. I personally disagree with just about everything Foderaro has to say about Lisp style, and wouldn't touch if* with a 10 foot pole, but that's OK. I find other macro constructs, such as introducing magic variables, even more distasteful. Equating morality and taste never does any good.
I think this whole flame is serving as a kind of proxy for resentment of Franz' success, its power in the Lisp community, and anxiety over its actions and perceived arrogance. Indeed, the nature of Franz' open source contributions is a little ambiguous; the license is cool, but "open source" these days carries, for better or worse, a notion of "compile and install anywhere." The Franz code is not like that, mostly because it does unportable things like going to the network. Foderaro has equated supplying the source to if* with supplying the source to all the unportable features of ACL; but I don't buy that. if* can obviously be implemented in portable Common Lisp without a lot of effort. I encourage and applaud making the source to if* easily available. Perhaps the source to if* can go in CLOCC or CCLAN and we can be done with this flame.
>> Is if* now moral/respectful/substantial? > I suppose for the same reason you will add your own defun*, defmethod*, > and so on? And then make use of the star operators mandatory, so that > metering will not miss out on half the execution paths? Then what have > you achieved? A new lisp* that allows every operator in the common-lisp* > package to be redefined, a feature that certainly would be useful at > times, but which was rejected for Common Lisp for good reasons.
This was absolutely not rejected in Common Lisp. In fact, you can define your own operators with the same names as the standard operators; the editor of the standard itself has recently posted examples of how to do this! Your suggestion of making new * operators seems less confusing then that approach to a casual reader, but so what? Not all code can/should require only casual viewing for comprehension.