Subject: Re: On nil qua false [was: Re: On conditionals] From: Erik Naggum <firstname.lastname@example.org> Date: Wed, 28 Nov 2001 06:59:56 GMT Newsgroups: comp.lang.lisp Message-ID: <email@example.com> * Andreas Bogk <firstname.lastname@example.org> | Just that I am a non-CL user (yet, I wish I would get clg working...), | doesn't mean I cannot imagine what it would be like to work with a | Lisp where nil equals '(). People who imagine things that are not so, have a very strange tendency to believe that other things remain unchanged which would be _very_ different if their simple "change" were indeed made. It takes a very, very smart person to lie consistently about something for a long time without being exposed, because all things interconnect and two things that would normally exclude eachother seem to be true at the same time. The unusual ability of liars to explain apparent contradictions is one of the things that give them away. The knowledge of the world possessed by honest people is limited in strange and unpredictable ways, and sooner or later, you run into something they cannot explain, but this is _normal_. A person who has constructed a make-believe world has had to make up so much that the boundaries of their knowledge tend to be more predictable and they exceed other people in their detailed knowledge of their world, because of their fear that the unexplainable will give them away. Even knowing this, it is extremely hard to lie convincingly -- those who are best at it write long novels, which differ from other elaborate lies in that they do not even _intend_ to be true. In other words, I strongly doubt that you can. | As a feature, it feels like a convenience hack so you can write | (if foo) instead of (unless (empty? foo)). Is this the extent of your imagination? | That's not much of a gain, given that you have just violated the design | rule of having a way to differentiate between a valid and an invalid | result. Where the hell did this rule come from? I thought you had rejected laws that were immoral or meaningless because your upbrining in dictatorships. What makes you even _believe_ that you can dictate such rules and _not_ have people object to the nonsense? | Still, it adds to the learning curve for newcomers, and potentially uses | up cycles in your brain that you could use to solve the actual problem | instead. As a matter of fact, (when foo ...) has a _much_ lower cognitive load than (unless (empty? foo) ...). 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. You would in fact have to be (unless (or (not (list? foo)) (not (pair? foo))) ...) to be an accurate "translation", or you could of course write (unless (not (eql foo <false>)) ...) which just proves that (when foo ...) is the _correct_ choice! | As with laws, it's hard to see afterwards what the compromises involved | were. Judging from what I've read in several documents about the history | of Lisp, CL was a rather hairy compromise. That _should_ tell you something about people, _not_ about languages. | I just sometimes have that imagination of a painting designed by a | committee of Rembrandt, Van Gogh and Dali. When I see people denounce the work of several people who work together, I see a person who thinks _much_ too highly of his own abilities. Out of all the millions, if not billions, of painters in the history of the world, the handful of geniuses who _did_ paint better than a committee would have done actually prove that committees do a better job than the (- total-world-population number-of-geniuses) people would. However, if you think of _yourself_ as the Rembrandt of programming language design, this may be hard to understand. However, since irrationally exaggerated egos tend to cause few problems until they are challenged (at which point such people implode and/or become physically violent), staying away from people who put a bullet through inflated egos is a good survival tactic, as is trying to intimidate anyone who can expose them, and one may in fact keep believing that one's ego is the correct size for quite a while. 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". These latter people tend to hate me for not allowing them to keep thinking they are far better than they are. | One of the things on my list is finding out whether this benefit is | really there or if it could be achieved by other means. Whether it could or not is irrelevant unless you are designing a new language from scratch -- and you do not do that in a newsgroup for an established language, at least not under such pretenses as you do. The question is whether it should even be attempted. Smart people can figure out better ways to make democracy work, but when people who are too smart for their own good get brilliant ideas, they tend to set up dictatorships, instead, because the royal mess that is democracy in action is actually _much_ worse than _any_ isolated theory could be -- until implemented. And that is what makes them _better_, because the crucial element of a democracy is that people agree only on what _not_ to do, not on what to _do_. Basically, what they end up doing is a fall-out of what they have agreed to _exclude_ from the possibility of being done. Given the resources of modern countries, _anything_ could be achieved. It is what we give high enough priority that it excludes a lot of stuff that actually gets done. In the budgeting and prioritizing process of politics, the actual agreements are over what _not_ to do with all that money, what _not_ to bring up again during the budget period. Budget debates are not about the money, but about killing political ideas. | That's just to lure in the newbies, in whose eyes this *is* a bug. So you admit to fraudulent marketing. Well, good luck with Dylan. | 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_. _Culture_ is at the very core of why people choose language communities. | The s-expression argument comes up quite often. Why not, as an | experiment, start telling the newbies that, even though you think | s-expressions are superior, they can try Dylan to learn the basic | concepts, and then come back later to learn about advanced concepts. Why the hell would Common Lisp users want to do that? I think you, the proposer of this idiotic manipulation attempt, suggest to your Dylan users to try out Common Lisp before they tire of Dylan's shortcomings. Man, you are so incredibly short-sighted you insult your own intelligence with such a stupid, stupid suggestion. You really _are_ a marketing and advertising person, are you not? Zero technical skills compensated for by lots of smooth talking could produce such an incredibly _dumb_ attempt to pull the wool over so many people's eyes, but not honesty and smarts. | Discussing the Right Thing naturally boils down to discussing the | context, and that's productive. That "context" is a large framework of what has been excluded from the discussion. In essence, The Right Thing is whatever is left when you have agreed not to pursue a very large number of paths. It is the same way when people say they have chosen their new car through a careful process of weighing positive and negative sides, cost and efficiency, and can make a perfect explanation for why this car is _the_ best choice. What they usually omit from this story is how they "decided" to not even consider 99% of the car market before they started weighing anything at all and probably were left with a handful of models, if not actual cars, based on unexpressed and emotionally determined desiderata, among which some _actually_ irrelevant factor was "weighed" and found sufficient. 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 you will find the history. It is not as accidental as you might think. What we do _automatically_ is what defines our sense of culture. If you come from a different culture, you will fail to find the reasons in the _explicit_ history of the new culture. (This is why history is such a hard discipline and requires people who are able to put themselves in the context of their discoveries.) It is fundamentally unproductive to "discuss" the context. Either you grasp it more or less automatically, or you fail to. If you do not, you can find particular reasons why it failed, but if you persist, you will only be an outsider looking in at something you do not understand. If, on the other hand, you accept that whatever this new thing is, you should let it influence you before you try to influence it, you will slowly grow into its frame of mind in ways that are incredibly hard to explain because it happens just as implicitly as how two people grow together when they live together, how pets and their owners communicate without any signs that outsiders can observe, how we attribute this to intuition when in fact it is nothing more than the ability to discern signals that other people overlook. Discussing underlying premises of the tacitly accepted and rejected requires specially trained people. Philosophers and psychologists are sometimes able to pick up those underlying premises, but the Heisenberg uncertainty principle applies to people, too: just by asking and _making_ people think about something, you have influenced their thinking and in minute ways changed them. The amount of intellectual attention and dedication to detail necessary to prevent errors and both false positives and negatives in this process is _frightening_ to the untrained. Consequently, I completely fail to see how you can even assume that you would be able to conduct and complete this procedure fruitfully without massive loss of accuracy even if you did it face to face with people. In fact, I expect that such a procedure would be a total wash on USENET. Therefore, discussing the context here _must_ be counter-productive. | But I might claim that someone is wrong if he presents an argument that | contradicts a common context we've established before. But because you are an outsider by choice, you would not be able to determine this. Someone who decides to learn something fully, has to _immerse_ themselves in it before he starts to think too much, or the process of immersion and learning and understanding will _fail_. If you start to think too early in the process, you will use your previous contexts to validate what you are learning, and that is wrong. By so doing, you will block your ability to validate using a different context, unless you are very, very smart and self-aware. Very few people are. | If in his model there is no contradiction, he must be using different | axioms than me, and isolating these differences can be a rewarding | insight to both participants of the discussion. That would perfectly | refute my claim of wrongness. Your belief in a logic you have demonstrated a serious lack of ability to handle productively is downright charming, but it is so much hard work and so painful a process that it must be a matter of _habit_, not a matter of studiously conscious procedures done in your sunday clothes only when called upon. If you are sloppy and confused and do not look carefully at your observations and conclusions _regularly_, you are not a person with whom this process can be expected to produces good results. I am looking forward to how well you understand these premises of a discussion at the level you seem to seek. I think it is just as much pretense and hogwash as claims to live in a world of "proofs", which is also only for show to people who do not think it through. | It's Yin and Yang. I can only establish facts about how important an | argument is to someone by trying to push them. It is polite to keep | that push as small as possible, and a strong reaction to a small push | indicates a big force not originating from me. This presupposes that there is a priori and universal agreement on the amount of push -- that I cannot think your push was bigger than you think it was. Since this is obviously ridiculous to base an argument on, what such a reaction _really_ indicates is most probably that you have failed to assess the amount of push you exerted correctly, and particularly so because you failed to understand that you relied on an agreement that simply _could_ not exist, for your argument to be true. Such sloppiness in thinking that pretends to be logical is actually quite alarming, as it indicates that you have never been challenged on its fundementals and have been allowed to walk through life thinking much too highly of your logical abilities and the guaranteed results of applied logic. This is almost like watching old Star Trek episodes with the ridiculous role of Spock, who is "logical" based on a bunch of ludicrous premises. The lack of precision and willingness to think through what you are saying is downright annoying. You think too little and talk too much. Nice words, looks good to the careless observer, but is just bullshit. You simply fail to understand that people do not just disagree on some surface issue -- they may disagree all the way down. Even if you seem to agree on _some_ aspects of something, that is absolutely no guarantee that this is accidental. E.g., a realist and an idealist may agree on the fruitlessness of homeopathic "medicine" for reasons that look the same for a while, but than radically depart on some core principle. People can likewise agree on some "Lispness" of their pet languages, but strongly disagree that a language that lacks s-expressions in its syntax should even pretend to be "a Lisp". | If you consider it advertising when I'm saying that Dylan was a good | idea, then yes, I am advertising. But it's honest, since that's my | opinion that I can back with arguments, and I can be convinced otherwise | with better arguments. What utter nonsense. You decided on what made you choose Dylan long before you ever heard any "argument" either way. You will not be swayed on any but the most superficial points by arguments. You will, instead, protect yourself from such swaying. How can I say this so certainly? Because you show an amazing lack of insight into how people choose and value things. Of course, now that I have said this, you may think about it and you may decide to surprise me. That would be kind of fun. | I do not mean to flame, troll, or insult people. I'm coming here with an | open mind, and a story to tell. You would like to believe so, but it is in fact false. If you react _defensively_ to the last line, your mind is _not_ open. I think I dislike that trolls that come in nice suits more than the stinking homeless bum trolls. /// -- 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.