Subject: Re: On nil qua false [was: Re: On conditionals]
From: Erik Naggum <erik@naggum.net>
Date: Thu, 29 Nov 2001 03:53:02 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3215994770887944@naggum.net>

[ I have made an effort to answer with a one-liner to each paragraph, with
  further elaboration following it.  You may skip the elaboration unless
  you want to respond to this. ]

* Andreas Bogk
| Well, it extends to a general dislike against any use of inband
| signalling in a lot of other contexts.

  Where did this "dislike" come from?  When does your "dislike" begin?

  I would have assumed that you dislike everything that computers do with
  that attitude, since they practically _embody_ the principle of inband
  signalling these days.  Digital transmissions practically _forbid_ real
  out-of-band signalling -- it is all done by in-stream encapsulations and
  encapsulation these days, precisely what "in-band" refers to.  Sheesh.

| This is based on observation of the problems (especially security
| problems) of software that violates these rules.

  Ah, the good old argument from "my experiences of fear and pain", again!

  The best solution to some people's severe personal problems with all
  things painful is simply to ask them to increase their pain threshold --
  nothing else will actually help.  Wimps and whiners will never amount to
  anything in a world where the expectation that everything be painless is
  routinely disproved.  An experience of pain means that _you_ do something
  wrong.  If you are the arrogant type, you will blame somebody else for it
  or the universe in general if you are _real_ idiot, but arguments based
  on "it hurts, so I won't do it" are actually _wrong_.  It was _not_ what
  you did that made it hurt, except in such trivial cases that you never
  talk about it.

  If you design crappy software and something dies on you, the cause is not
  because the language violated some stupid rule of in-band signalling --
  it your own, personal ineptitude that was the cause and your own goddamn
  fault for not being able to deal with it when you implied to yourself and
  the computer and your superiors that you could.

| So anybody who thinks that CL is better off violating this rule either
| doesn't believe in it, or believes that there are more important rules.
| In both cases, I am curious to know why.

  Or they do not actually violate it, because you are simply _wrong_.

  Your failure to grasp what you want to accuse others of is repeated with
  an alarmingly high frequency, and it seems to be increasing rapidly when
  you are chastised for it.  The world is not at fault for not obeying your
  rules.  You _really_ need to grasp this.  Rebellious idiot students could
  perhaps get away with such cluelessness in the late 1960's, but rebelling
  against the authority of a programming language standard is simply _nuts_.

> As a matter of fact, (when foo ...) has a _much_ lower cognitive load
> than (unless (empty? foo) ...).

| Only if you have interned this particular feature so much that you also
| see the latter meaning if you see the former in code.

  You _know_ this kind of thing?  You show no evidence of doing so.

  This is stuff that is _measurable_ and which has been studied over and
  over.  "Cognitive load" is actually a well-known phenomenon, and it is
  one of those things for which ignorant newbies are _not_ the standard by
  which everything is measured.  When I said "as a matter of fact", I did
  not mean your kind of fact, I meant _fact_.  Do you understand this?

  I also demonstrated that (empty? foo) is the _wrong_ replacement, that
  empty? must be true of much more than lists, but that none of these are
  false.  In other words, you are just _wrong_.

  People who are psychologically prevented from accepting anything that
  other people tell them is the rules they have to follow, will get upset
  for no reason about _their_ "rules" being violated.  This is _curable_,
  but not by changing the rules in long established standards.

| Using the former when meaning the latter fails to communicate the intent.

  The former means that one is testing for a non-nil value.

  You are testing for "a non-empty something".  You have misunderstood the
  intent and this causes you to communicate something else.  Most of your
  conclusions come from making similar mistakes and not listening when
  people tell you to pause and think.  This makes you look _tremendously_
  retarded to those who _do_ know.

> If you at _least_ had rewritten it as (when (pair? foo) ...), you might
> have a fighting chance, but the two are not quite similar -- foo could be
> a non-list, in which case empty? might provide the wrong answer.  An
> empty string or vector or hashtable or package or whatever is true in
> Common Lisp, but empty? should be true of all of these.
 
| The intent when writing such code is indeed testing for an empty
| container, so the fact that it works correctly for non-list container is
| a good thing.

  This is actually wrong in Common Lisp.

  It might be right in Dylan, but it goes to show how Dylan is _not_ a
  Lisp, that you are not discussing this in the proper forum, and that you
  are not listening when people talk to you.  If nothing else, this alone
  makes you stand out like a prize moron.

| Too bad this isn't true for the (when foo) case, it only works for lists.

  You demonstrate only your arrogance from ignorance

  I am a little amazed at your lack of will or ability to introspect.  You
  are reacting in a way that demonstrates that you do not listen at all,
  but react only to what your "impressions" tell you is happening.  This is
  the modus operandi of prejudicial _idiots_.

| By the way, please forgive the use of the Dylanesque empty?.  I'm so used
| to working in a language where I can express operations on collections
| independent of their implementation that I completely missed the fact
| that there is no empty? in Common Lisp, and that it can't be implemented
| in a way that would have equal performance to (when foo).

  Yes, paying attention is evidently too high a price for your arguments.

  Maybe you will pay more attention in the future?  That would really help.

> I see a person who thinks _much_ too highly of his own abilities.

| I've been to some meetings of standardization groups, and have seen how
| they work, thank you.  Their compromises are often not mine, and their
| documents below the standard of the individual members.

  Why go to such lengths to confirm what I just said about you?

  Why do you think your extraordinary ability to generalize from painful
  experiences produces _true_ or _useful_ results?  You do not even seem
  able to recognize that having been to "some meetings" does not give you a
  right to conclude _anything_.  This implies that you think the painful is
  the normal, and that there is nothing you can or should do about it.  And
  that explains why you dig yourself in deeper all the time, too.

  Part of the ability to generalize correctly is the ability to weed out
  exceptional situations and not confuse noise and signal.  If you think
  what you have observed gives you grounds to believe it is the _normal_
  situations, you are as mistaken as you are about this forum.  You simply
  do not get normal reactions when you poke people in the eye, and you
  _should_ be able to understand this.  However, I doubt that you are.

| I've only been using programming languages for the last 14 years, and
| I've only been studying programming language design for the last 5 years,
| so I'm certainly neither the most experienced language designer nor the
| best.

  Yet such incredible immaturity after so much experience is _alarming_.

> E.g., I know a lot of people who are better than me at many of the things
> I want to be good at, but I know far, far more people who only _think_
> they are and who have yet to wake up and smell the coffee and realize
> their "ranking".

| So your participation in this newsgroup has the purpose of establishing
| some smartness ranking?

  No.  Reading comprehension is not your strong suit, is it?

  Does your dysfunctional brain realize that as you go wrong with such a
  mindless accusation, you need to try something else, or will you just
  think you have proved your argument _because_ I deny it?  Really stupid
  people tend to consider their prejudices proved the stronger their victim
  objects, proved when the victim does not object, and proved when they
  agree.  That is what stupid prejudice is all about.  You sound like one
  who suffers from this particular problem and post your stupid prejudice
  because you think this will win a debate for you, when what _would_ have
  helped is simply using your goddamn brain to _THINK_.

  Smart people recognize other smart people.  Stupid people do not.  This
  means that failing to understand one's "ranking" is an indication that
  one is stupid below an important threshold.  Your persistent failure to
  read what people write accurately, however, is a pretty good sign you are
  a very unobservant person in general.

> These latter people tend to hate me for not allowing
> them to keep thinking they are far better than they are.

| I think most people tend to hate you because of your attitude.

  You are not most people, nor do "most people" hate me, you dipshit.

  That you are not most poeple _should_ be an important realization for
  you.  You cannot extrapolate your experiences to other people, not in
  normal situations, and especially not in abnormal situations.  Every
  argument that appeals to statistics about what other people think are
  ipso facto _invalid_ and merely tells others that you are immensely
  stupid.  But you will not understand this, either, will you?

  You reject arguments that appeal to authority, but you appeal to your own
  unverifiable experiences, to fear and pain, and to popularity, all of
  which are incredibly stupid compared to appeals to accept an _actual_
  authority in a particular field.  If you have never been castigated for
  your stupidity before, and if you are in fact as stupid as I think you
  are, you will not understand or accept that you are wrong in any way, and
  you will cocoon yourself in self-preserving delusions that you are not
  acting like a moron here.  My attitude is simply that I despise stupidity
  in all its shapes and forms.  If you want to be stupid, you will hate me.
  If you can figure out that you need to pull yourself together and stop
  making stupid mistakes and arguments, you will _not_ take it personally,
  but _understand_ what the fuss is all about.  I use this as a means of
  determining whether people ar worth listening to after they had a chance.

| I have met people smarter *and* more humble than you.

  I actually doubt that, or you would have recognized that you are being
  castigated for your serious _lack_ of humility in this forum.  Your
  ignorant arrogance and your lack of willingness to listen when people
  reject your premises and tell you that you need to _acknowledge_ the new
  community you have just walked into have all caused you to become more
  and more arrogant -- those are not smart reactions.  And just because you
  think you have "a Lisp" and thus a "right" to post bullshit here does not
  mean anyone has to agree with you.  You have comp.lang.dylan, but it is
  not possible for you to invite people over to your forum to talk with you
  there, is it?  My guess -- nobody _wants_ to.  So you have to trespass on
  their grounds and annoy them on home turf, instead.  Goddamn stalker!

  That you do not at _all_ understand that you are not welcome to post
  bullshit, and that is not just my reaction, means that you are here on a
  mission, where ignoring other people's concerns are perfectly acceptable.
  This is evident in much of what you post.  Such arrogance does not make
  people likely to think you are here to be constructive or learn something.

  Considering that you appeal to logic, but demonstrate no skills in using
  it even to save yourself, I consider the rest of your attempts to look
  friendly and polite be deceptive as well.

| It's not irrelevant, it's called "learning".  It might even be of some
| use if I ever decide it would be nice to design a new language from
| scratch.

  Learning?  Learning _what_?

  That being an obnoxious idiot tourist in a new community makes people
  pissed because you are too goddamn stupid to look around you and wait
  until you grasp what is going on before you start to make "suggestions"
  for that community to adopt?

  That some people do _not_ consider what you are unable to deal with
  errors, and would in fact do the exactly same thing all over again?

  That some people _like_ what you have such a personal problem with?

  That nobody cares what a goddamn Dylan freak has problems with?

| But I think slightly improving existing languages is a more realistic
| target.

  It does not happen the way you think.

  Waltzing into a community to tell people how to improve _must_ fail,
  especially when you come from a community that walked out on Lisp in the
  first place to do their stupid thing.

  That you already think standards committees do poor work and that you
  "know" how they work (thank you), must mean that you are here to make
  people _abandon_ their standard and adopt Bogk Lisp, instead, which would
  of course be an improvement over absolutely anything, right?  Now, we
  just had another case here with a guy who just could _not_ accept that
  Common Lisp has a large set of perfectly fine conditionals -- he just
  _had_ to use his own, and anyone who uses the standard ones around him
  gets chastised for it and have their code mutilated.  He, too, has a very
  strong disdain for "committee work".  He, too, knows best himself.  There
  is a commonality here that you may not notice right away, so let me make
  it clear to you: The reason people who have "special ideas" do not get
  them accepted is that most of the time, it is because they are _nuts_,
  and that their "special ideas" are old ideas that have already been
  discarded or are known to lead into major messes.  Failure to listen to
  the community in this situation means that one is not contributing to the
  community, but regards the community as one's private ego massage team.
  People generally reject every attempt to put them into this role.

  Languages are not slightly improved.

| Do you pay taxes?

  Next moronic question, please!  Geez, just how retarded _are_ you?

| In my view, it's a minor inconvenience that I don't actually mind
| anymore, and probably just a cultural thing.

> "Just a cultural thing"?  That is precisely what the super-tolerant
> idiots say about the molestation of young females in backward cultures
> that claim it is their "religion" that defends this criminal act against
> at least half of humanity.  Cultures are tremendously important, and some
> of them are just plain _bad_.

| Have you just compared infix syntax to child molestation, or is this just
| my imagination?

  Just your hyperactive and free-wheeling imagination, again.

  I also think you missed the reference to female circumcision and thought
  it was about "child molestation" because, again, you had to fill in the
  blanks where you did not understand something fully.  You are _really_
  quite fascinating to watch.  Actually being bothered to be accurate or
  pay attention to your level of comprehension it clearly too much to ask
  of you.  That you have not met people who have told you to go to hell
  previously must be because they have been too polite to tell you the
  truth, and now you are all hysterical because I am "rude" to you.  Get a
  grip on yourself and figure out that only _you_ can change all this.

| I've had several opportunities to demonstrate my technical skills, [...]

  Why are you defending yourself with something so utterly irrelevant?

  Who "you" are is of absolutely no interest to me.  Your arguments and
  opinions are, and only your arguments and opinions.  They are the subject
  of my criticism, not you, but they have a person and a will to act behind
  them, and it is in the capacity that "you" are chastised.  Do something
  else, and I will respond to that, instead.  If you persist in defending
  yourself, I must have been correct in my assessment and made it hurt real
  bad.  You should not expose yourself that much in public.  This is not a
  personal chat forum.

  If you post mostly stupid arguments and nonsense, that is what you are,
  here.  If you never do any better, then it must be because you _cannot_
  do better.  When it hurts to post some moronic bullshit, try something
  different -- do not just _be_ a moron and keep posting moronic bullshit
  because you think you have a "right" to do it.

> To trace the history of how we ended up with our conclusions, ignore all
> the explicit arguments and premises and logic and focus on what went down
> the drain before you even _started_ to think about it.  _That_ is where

| I think that would be a bad approach.  Logic has it's limits, but it
| cannot be plainly rejected as irrelevant.

  Your reading comprehension problem is showing again.

  Can you at least make an _effort_ to think about what you read and
  perhaps fail to make so many stupid mistakes?  Dude, you are a random
  number generator.  How can anyone talk to such a moron as yourself when
  you grasp _nothing_ of what you are being told?

  Logic was not rejected as irrelevant, you moron, you were told to ignore
  it if you wanted to trace the _history_ of your conclusions.  It is your
  tacitly accepted premises that guided everything -- logic made it simply
  follow from those premises.  Your amazing lack of thinking skills is
  beginning to be such a curiosity that I am tempted to reply to you only
  to see if you do any other hilariously funny mental tricks.

| How deeply have you looked into Dylan, for instance, to be able to say
| that it doesn't have the Lisp nature?

  It has rejected s-expressions.

  How deeply would I have had to look into Dylan to satisfy you?  There is
  clear evidence that you would not accept _anything_ as satisfactory.

  You show us that you have not understood what Lisp nature is, because the
  only "Lisp" you _actually_ know well is Dylan.  To you, Common Lisp has
  Dylan nature, but that does not mean that Dylan has Lisp nature.   You do
  not know the first thing about Lisp nature, except for what some other
  Dylan freak has told you about it.  Right?

| You still have to show a serious flaw in my logic.

  Blasting your premises to pieces does not count?

  Must I _accept_ your premises in order to show a weakness in your logic?
  Sorry, but that is not how _real_ logic works.  _Real_ logic ensures that
  conclusions follow from their premises, and that is all.  The best that
  can be done with logic is to show that _if_ the premises are correct,
  _then_ the conclusions also are.  If the premises are false, _anything_
  can follow.  So if you are hung up in logic, which is fairly trivial and
  mechanistic, you need a way to ascertain that your _premises_ are good.
  You do not seem to grasp this at _all_.

  It is utterly amazing to me how anyone can talk so loudly about logic and
  not understand the importance of the premises for his reasoning, and it
  is even more amazing that you _dismiss_ those who reject your premises
  when they are simply _untrue_.  What the hell kind of logic is it that
  you want, Andreas Bogk?

| Who tells you I'm not practicing it on a daily basis?

  Your news articles, you dimwit.  Grow a clue, now.

| I hope I'm not doing too bad.

  No, you are doing a lousy job.

| One has to recognize that a lot of our daily activities consists of
| building models and executing "proofs" in the model by constantly
| verifying it against the real world.

  Really?  And if one does not "recognize" this?

  People who believe in the model bullshit are wrong.

| Then they have a lot of fun executing some proofs in the form of dad
| hiding and reappearing behind a curtain.

  Yeah, I am sure they execute proofs when they figure these things out.

  This means that "proof" to you has a pedestrian meaning and not a formal
  meaning at all.  This is quite informative.  Poor children, by the way.

| I bet the higher thought processes of animals are alot like that.

  Yes, my cat also executes proofs.  Cool, I always thought she was smart.

| There are some things we cannot understand using the model-building
| process, consciousness itself is an instance.  This is where the world of
| models, rules and proofs fails, and where psychology, philosophy and
| religion come into play.

  And just _how_ do you know these things?

  This looks more and more like the same old problem of premises taken for
  granted and which cannot be questioned.  The fact that you reject every
  attempt to question your premises rhymes with your belief that others
  have no rational basis for their conclusions, either, and hence you make
  those stupid accusations about "gospel".  Logic from "postulates" and
  "axioms" and otherwise _unquestioned_ premises is a fool's business --
  damn near _anybody_ can do it, it is a simple matter of following a bunch
  of fairly straightforward rules to the letter.  Figuring out whether the
  core premises are good, however, requires serious skill and deep thought,
  sometimes the work of geniuses.  This is where people usually fail, and
  miserably.  This is where philosphy becomes _interesting_.  Your reaction
  to this is as follows, however.

| That does not make these things irrelevant.

  Your "logic" appears to be based on unquestioned beliefs that have no
  rational basis whatsoever.

| Your irrational behaviour is a living proof that logic has it's limits.

  Do you even read what you are writing?  Do _you_ laugh, too?

  But please let me watch your learning ability in practice.  "It's" is a
  contraction of "it is" or "it has".  "Its" is a possessive pronoun.  Can
  you figure out which to use at what time and consistently avoid making
  more silly mistakes?  That would be appreciated.  I assume, however, that
  you have developed your English, Dyneng or something, in which you have
  your own rules of grammar that are much better than all those stupid ones
  that a very large community of people much less smart than you have made
  the mistake of using for hundreds of years.  You would of course still
  claim it is "an English" because it has "English nature", even though it
  fails to conform to accepted standars for English.  "It's" is clearly the
  best way to express the possessive form of "it".  Of course, consistency
  be damned, so it s not "he's" and "she's" and "they's" and "us's", etc,
  it is only "it's".  The rest of the possisive pronouns are just fine.
  But for someone who confuses these two to carp about the confusion caused
  by nil and false and the empty list is hilariously funny.  To make such a
  stink about disliking in-band signalling and then to abuse the apostrophe
  to destroy whatever information is already there is very, very amusing.

  If it were not for your terribly stuck-up attitude problem and arrogance
  towards communities you are not a member of, I would let your mistakes
  pass -- this is not an English class -- but you are so certain of your
  own perfection that pointing out that you make a grade-schooler's mistake
  in English and are too arrogant to recognize it, becomes important.  You
  do not pay attention to details.  You make mistakes that you _ignore_.
  Then you go all huffing and puffing about lots of things you fail to
  grasp fully.  You are an idiot, Andreas Bogk.  And so are your stupid
  concerns about Common Lisp and Dylan's pretense of being "a Lisp".

| You're welcome to actually show where my logic is flawed, instead of
| just claiming it's bullshit.

  The premises you do not question and want people to agree to, are wrong.

  You do not listen to this at all, but want people to accept them and then
  show you "logical flaws" in your reasoning from them.  This is not how
  logic works.  Logic works only if the premises are known to be true.  If
  your premises are false, logic alone does not produce useful results.  A
  lot of Star Trek fans seem to believe in Spock-style logic.

| I do not fail to understand this, although two persons who disagree on
| *anything* are rather unlikely.

  Did you mean "everything" here or what?

| What you fail to understand is that this isn't the case between the Lisp
| and the Dylan folks, for they have common roots.

  This is one of the premises that you do not want to hear otherwise about.

  No, they do not have common roots, they have _some_ common roots, and so
  do almost all programming languages.  Just as Scheme has more Algol in it
  than Lisp, Dylan chose a syntax that is anything _but_ common with Lisp.
  In other words, Dylan has at least one root that is not common with Lisp.
  So your whole goddamn _premise_ is wrong.  The Dylan community rejected
  the Lisp community, and now you need to get back into the warmth because
  it gets cold and lonely over there in miserably failed Dylan land.  Guess
  what?  You are not welcome back if you want to keep your arrogance and
  your rejection and your stupid little language.  Eat enough crow, make
  enough amends, understand that your language is sufficiently different
  from Lisp that you should really go to Python or Ruby or something if you
  want something that looks and feels the same, and _maybe_ you would not
  be such a goddamn obnoxious tourist.

| For me, adding an s-expression parser to the Gwydion Dylan compiler looks
| like a project I could pull off if I dedicate a month or two, whereas
| removing dynamic typing from Dylan is something I'd consider impossible
| for myself, and changing the heart of the language.

  If you can write your code in the s-expression syntax, that would count.
  If you cannot, then it does not count.  Do you grasp the difference?

| Rest assured that s-expressions are the number one reason why people shun
| Common Lisp, regardless of whether they are good, bad or meaningless.

  Well, gee.  How do you know these things?

  How many real people did you poll to find out, as opposed to imaginary
  duplicates of yourself?  People shun Common Lisp because it does not have
  any of the common names for anything that the C community has chosen.
  What you stupidly and misguidedly call the "learning curve", which is
  really the amount of stuff learned over time, is _accused_ of being
  "steep", which would actuall mean that one can learn a lot of stuff in a
  very short amount of time, which would be _good_ for a language.  What we
  have, instead is that the cost of learning Common Lisp is one of getting
  rid of a _lot_ of old baggage.  The parentheses only symbolize this.
  Only real idiots are _really_ put off by the parentheses, but since it is
  accepted, and it is not accepted to be a moron who cannot learn new
  languages because he simply does not have the brain capacity to learn
  them in time, especially in a culture where people are taught a lot of
  lies about programming languages, such as them all being the same with
  only a little new syntax, people will do a lot of irrational things to
  avoid feeling stupid -- look at yourself and how you react to my pointing
  out that you are doing a lot of stupid things: you get _defensive_ and
  all snotty about "rude behavior", but you do _not_ fix the problem.  This
  means that you would rather be stupid and please, nobody say you are,
  than _not_ be stupid.  People who are unable to come to grips with Lisp
  are the same kind of people as you -- they carp about something that is
  _completely_ irrelevant which gives them a stupid _excuse_ to fail, so
  they do not look so stupid in their own eyes.

  However, only people who are unafraid of making mistakes and failing will
  ever succeed in anything.  Learning anything new means you will make some
  stupid mistakes early that may be hard to fix if people around you are so
  "polite" as not to point them out to you, and if you are unintelligent
  and unobservant, you will not even notice that things no longer make a
  whole lot of sense.  This is the time when smart people stop to think,
  and stupid people start to blame the language.

| Since you seem to have bigger insight into how people choose and value
| things, you might want to share it with us, instead of calling people
| names.

  If you start to focus on what _you_ want, you would see I do _both_.

  Since you _are_ behaving incredibly stupidly with your constant whining,
  and it is the cause of what you do not like, just stop whining.  It is as
  simple as that.  You see, unlike you, I do not criticize something just
  to criticize it.  I do not harrass you about something that you are
  unable to change the way you harrass this community about your perfect
  Dylan that made some other choices.  I _expect_ you to grasp what you are
  being criticized for, and _also_ critize you for it if you do not.

| Anyways, even if your assertion about my lack of insight were true, it
| still wouldn't say anything about the result of arguments on my points.

  OK, if this were literally true, it would mean that you pull your
  arguments out of thin air.  I quite concur with this assessment.

> If you react _defensively_ to the last line, your mind is _not_ open.

| Why should I react offensively?

  Again, reading comprehension is not your strong suit, is it?

  But well, you _did_ react defensively, so I have seen what I need to see
  from you.  Next time, try actually responding to what people _write_, not
  what you read out of your own mind.  Or look up the difference between
  "offense" and "defense" in your favorite dictionary.

  Just stop making so many stupid mistakes.  THINK!

///
-- 
  The past is not more important than the future, despite what your culture
  has taught you.  Your future observations, conclusions, and beliefs are
  more important to you than those in your past ever will be.  The world is
  changing so fast the balance between the past and the future has shifted.