the "loop" macro
(too old to reply)
2020-10-11 20:52:07 UTC
Does anyone else feel that I don't have the right to define my own macro
to express the conditional statement?
That is not the issue. Such rights have never been questioned.
Does anyone else feel that I don't have the right to criticize: if, when,
unless and loop?
That is not the issue. Such rights have never been questioned.
If it's antisocial to extend the Common Lisp language ...
That is not the issue. Nobody has ever even indicated that as the reason.
An extension that big puts my little if* to shame. Surely someone who
designs something like that is the most antisocial of all.
To those who have studied criminology and recognize the behvioral pattern
of somebody who is determined not to understand why what he has done is
under criticism, your chosen line of defense is the most incriminating
and revealing. You did this the last time you tried to defend a piece of
buggy code, too, and it showed us that John Foderaro does not back down.
Clearly, having the right to denounce the standard that your company is
asking its customers to trust it to implement for them is more important
than realizing that by your denouncing what people want to purchase from
you, you undermine your own livelihood. Further, distancing yourself
from the process and pretending to be a victim of conspiracies against
your "superior solutions" indicates that the standardization process,
which people trust to produce standards that vendors are supposed to
agree to implement, is actively _distrusted_ by you and by Franz Inc.
The message you send is not "we have something better", but instead "We
hate Common Lisp as it became standardized by a bunch of morons, but do
come talk to us if you want an implementation of that crock of shit."
Apparently, you fail to understand that you can improve upon something
without denouncing what you improve upon. You do not make something that
is better than what people already like -- you have to make them hate
what they have in order for what you have done to be better. Such is not
actually improvement -- it is the childish game of "not invented here".
This is the dangerous part of your personality and what I react to most.
The dangerous _consequence_ is that you are fully willing to sacrifice
your professionalism and other people's trust in your competence as a
programmer with a serious vendor to your personal opinion about matters
of _zero_ importance to the future of Common Lisp and its market share
and ability to solve real problems. Clearly, it is much more important
to vent your spleen about if, when, unless, and loop than to help build a
business case for Common Lisp and to help attract people to the language
("Use Common Lisp and come join the Common Lisp community and take part
in the hate campaigns against the best language on earth.").
Clearly, you do not appreciate that my trying to push Common Lisp to
people who have the money and the trust in me as a consultant that could
land Franz Inc another large contract should cause you to beam with love
for the language your products implement, but instead you spend your time
denouncing the standard and the process that created it, creating the
very strong impression in every reasonably intelligent reader of your
rantings about language misdesign that you have gone elsewhere yourself,
so why should anyone new to the language ever stick with Common Lisp?
You will probably never understand this, since you continue to believe
that you are "innovative" the same way Microsoft is, but the way you ask
people who actually happen to like Common Lisp to hate it insteead, lest
they be branded religious zealots and worse, is telling people to stay
away from John Foderaro's sick mind and anyone who keeps him employed in
a position where his blind hatred for irrelevant features causes him to
write and publish buggy code and refuse to understand that it needs to be
fixed because he thinks the problem is in the specification.
It is not your changes that causes me to react. It is your arrogance.
It is not your desire for improvements more to your liking that causes me
to react. It is your intense denunciation of everything that I need to
entrust my own livelihood and professional reputation to your products.
It is not the fact that you are a deranged lunatic that makes me want to
terminate my business dealings with Franz Inc. It is the fact that they
keep a deranged lunatic employed in a position where his utter lack of
professionalism and professional integrity may cause serious damage to my
own or my client's software in a production setting where bugs you have
introduced because you do not consider my trust in the specification you
distrust a valid concern or a reason to write correct code or to fix
bugs, and hence I will lose money and possibly face lawsuits if I _do_
trust you.
I am a businessman, John Foderaro. You are not. I deal with people's
trust in me and my competence every single day. You have never grasped
that I question your trustworthiness. To my paying clients, the only
thing that matters is my professionalism. They do not care whether I
have personal opinions about the products we use or not. I may thus love
Allegro CL _personally_ and I may grief in _private_ about the idiocy of
your self-destructive behavior, but I would be criminally unprofessional
if I asked a client of mine to invest USD 100,000 in my love for a
product that cannot be trusted to perform as required by specification
for such a fantastically stupid reason as one idiot engineer giving a
higher priority to his dislike for language features over correct code.
This is a bigger issue than you appear able to understand, John Foderaro.
Nobody cares what you think about if, when, unless, and loop when they
face a delay in deployment because of one of your bugs. Nobody cares
about your silly coding standards when a project folds because a feature
in the specification is not supported for "political reasons". We have a
standard, and nobody cares where it came from, God, Devil, committee, or
John Foderaro, but everyone in the kinds of businesses I deal with care
that it is actually and faithfully implemented. Based on the evidence
that you provide about your priorities for Common Lisp and your own code,
I _must_, because I am a professional, decline to suggest that people who
would be willing to invest several hundred thousand dollars over the next
few years on their trust in my word, invest it in Allegro CL.
In short, your insistence that you be allowed to denounce the standard,
the standardization process, us "zealots", and everyone who disagrees
with your fantastically stupid "improvements" and "coding standards", has
a pretty hefty price tag. Your employer needs to understand that your
desire for a John Foderaro Lisp instead of a Common Lisp has caused me, a
fairly strongly devoted fan of Allegro CL, to abandon Allegro CL as the
choice implementation platform. I do not personally consider there to be
viable alternatives, which means that we will probably use a different
language. Now, this has not just happened this once, the last time we
had a fight over your prioritizing your personal opinions over correct
implementation of specified language features, I did not even bother to
waste my time arguing for Common Lisp. That project went with Java,
simply because I was too personally exhausted by your idiotic behavior to
want to fight for Allegro CL. I know I could have won that project.
The question I put towards you, John Foderaro, is this: Does it matter so
much to you to be able to denounce that which people come to you and to
Franz Inc to purchase that you are willing to let go of customers who do
not like that denunciation and who get the impression that you will do an
unprofessional job if asked to implement something you have some personal
issue with? If it matters that much to you, good riddance to both you
and Franz Inc. If you can get through your thick skull that maybe you
can get what you want if you back down and start to behave professionally,
maybe, just _maybe_, it is possible to get Franz Inc to take conformance
seriously and actually put fixing deviations from the specification on
top of the list of prioritized tasks and thus help rebuild its trust.
You readers of this newgroup set the tenor of the lisp community. Shall
it be as Erik wants where criticism of the standard is squelched, that
new ideas are forbidden?
That is not the issue. That is not what I do. It is not criticism that
you engage in, it is a political campaign of distrust in the process that
created the standard. If it were criticism, you would respect the
process and its results. You do neither. If it were criticism, you
would trust the process to yield better results with better input. You
very obviously do not believe this, but instead take it upon yourself to
do what you will, regardless of process or procedure.
You the lisp community has to decide. Erik may speak the loudest but
don't be put off by that. Speak your own mind.
Yes, let us see a show of hands from the all people who do understand the
issues of trust, conformance, respect for procedure, and compromise in
order to gain something _higher_ than immediate personal satisfaction.
I used to have doubts that you were mentally incapable of understanding
the issues that surround your antisocial behavior and your strong disdain
for the community standardization process, but I have been forced by the
sheer mass of evidence that you yourself provide to conclude that you do,
in fact, not have the mental apparatus to understand what standardization
means for a community and for the trust one may have in products. The
concept of trust in professionalism is probably also forever beyond your
reach as you continue to behave in the most _unprofessional_ way I have
seen anyone in any community ever do. Your immense lack of honesty and
personal integrity when it comes to representing the views and opinions
of others contributes to your lack of understanding of what other people
are trying to address. This are further strong indications of a deeply
antisocial personality. Your behavior in regard to the case issue and
the line of defense you choose when under criticism for your rampant
disregard for community "compromise" in favor of "John Foderaro's way",
whatever the cost may be, indicates that you are incapable of dealing
with more advanced concepts of cooperation than "do it my way or no way".
Since this is also how you interpret any criticism towards you, it seems
highly unlikely that you have the ability to understand what the issues
are surrounding your conscious and willful destruction of the public
trust in Franz Inc's commitment to implement a conforming Common Lisp
implementation and the construction of a reciprocal distrust towards the
antisocial behavior of Franz Inc when it comes to breaking the standard
in order to push some miniscule changes for personal reasons.
I concluded that I could not trust you or _any_ of your code when you
flat out _refused_ to recognize the bug in the piece of code you posted,
because I understood the full implications of your political agenda: It
is more important for John Foderaro to denounce people than to help me
and anyone else who wants to make money programming in Common Lisp with
Allegro CL. It is fairly obvious that I have the exact reverse priority.
And people wonder why Common Lisp does not "win"? It is not because of
the language, it is because of the self-destructive morons in this
community who think it is conducive to their personal goals to denounce
and ridicule and fight the common goal. John Foderaro and his case,
pathname, character vs integer, if-when-unless, loop, etc, etc, issues.
Bruno Haible and his large bunch of issues. Paul Graham and his bunch of
issues against the language. People who appear, on the surface, to have
done good work for Common Lisp return time and again to denounce the
language, its community, and everything that _could_ bind us together.
Why would anyone in their right mind want to use Common Lisp when the
people who do (seem) use it are so negative towards the language?
Over the years, people have asked me how I can make money at all doing
the things I do for a living. I have always been way, way off mainstream
I love what I do and do what I love. People pick up on it and trust me
professionally because of the fact that I have a high personal investment
in what I do. Likewise, I think people pick up on those who hate what
they do and do what they hate. Judging from the behavior of a large
number of Lisp people, it seems clear to me now that the problem we have
is that people do not love Lisp and the do not use it, because it is more
important to them to hate some miniscule little misfeature than to love
the whole of it and live with the "warts", if any. It also seems to me
that people are reluctant to leave, but prefer to hang around and be
nay-sayers and negative influences on those who _want_ to like Lisp. We
see it from people who come here, too, they pick up the negative attitude
towards the language _very_ quickly. I am probably very fortunate who
can do what I do, but I honestly think that if you do not do what you
love to do, it is because you decided at the wrong time that you would
quit searching and settle for the money or something. That is _poverty_.
If you cannot love more than the money you get for doing something, at
least be smart enough to love that, and it should be easy to pretend that
you love your work so you can continue to make money. If you cannot even
pretend, why are you not searching for something better? How much effort
can it _be_ to learn a new trade or a new programming language? I mean,
_kids_ learn these things. Kids are _not_ smart. Kids do not have tons
of experience and stuff that makes things easier to learn. Kids absorb
stuff faster than grownups, but they still need a lot of time getting
used to _working_. Grownups _work_. When grownups _want_ to learn
something new, they do it way faster than kids do. At least if they are
pretty intelligent, and Lisp people are ipso facto pretty intelligent, so
there simply is no excuse for a disgruntled Lisper to hang around and be
so negative about Lisp. This makes me wonder what kind of personal value
it has to a disgruntled Lisper to hang around in the Lisp community and
denounce the language, the standard, the people behind the standard, and
nigh everything that says a _positive_ word about either or all of them.
I trust that people smarter than John Foderaro understand that criticism
is not the same as denunciation. Criticism has a fundamental respect for
that which is criticized and a desire to see it realize a potential that
it may not yet have realized fully. Denunciation is disrespect for the
potential _and_ its realization, however incomplete. Good criticism will
always see how the current realization reflects the potential, not deny
that it does, which denunciation would do. Good criticism embodies an
understanding and appreciation of how something came to be, because
nothing can really be "improved" by first breaking with its genesis --
that would be replacing a lot more than that which needs improving. This
is why "X is broken, here's an incompatible fix" is _not_ good criticism,
but bad. Bad criticism presumes that the current realization defeats the
potential without actually establishing that premise to be true. (It
does happen, unfortunately, as it does with attributes in SGML.)
John Foderaro has made this into an election and a popularity contest.
My take on this is that people who have nothing better to do than to
denounce the standard, the process by which it was created, and the
people who did it, be shot down and thrown out of the community. Let
those who _like_ Common Lisp use it, and let the nay-sayers leave us
alone to do what we think best. Those who _like_ Common Lisp will have
lots of ideas for improvement, too, but at least they can trust that the
other people they sit down with and compromise with are all good people,
instead of disgruntled nay-sayers who did not get their will last time
and never got over it. Maybe there even are things that are broken and
not well thought out, but if you like the language, you will care for it
and its users, not chop off parts according to personal distastes and
scare people off because _they_ liked the part that got chopped off.
Now I have a Common Lisp application to update with new requirements that
are easily met before its users get to work in a couple hours.
And since this is an election: Remember to vote for Common Lisp with your
heart -- it is the good language for good people. Remember who _likes_
Common Lisp when you want to trust people to take care of its future.
Is your goal to actually persuade people to agree with you? If so, you should adjust your approach. Being an asshole is not the same thing as being wrong, but it can be just as damaging to an argument.
Stefan Monnier
2020-10-11 22:51:30 UTC
IIUC the author of that 19 year old post is now deceased,

Andreas Eder
2020-10-17 15:09:36 UTC
Post by j***@gmail.com
Is your goal to actually persuade people to agree with you? If so, you
should adjust your approach. Being an asshole is not the same thing as
being wrong, but it can be just as damaging to an argument.
Erik Naggum was one of the best Common Lisp programmers. Unfortunately
he died quite some time ago. He was very opinionated and almost always