From ... Path: archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!195.64.68.27!newsgate.cistron.nl!newsfeed.online.be!newsfeed.esat.net!nslave.kpnqwest.net!nloc.kpnqwest.net!nmaster.kpnqwest.net!nreader3.kpnqwest.net.POSTED!not-for-mail Newsgroups: comp.lang.lisp Subject: Re: On nil qua false [was: Re: On conditionals] References: <3215299538573186@naggum.net> <9tgcpc$3ce$1@news.gte.com> <3215360195434986@naggum.net> <3BFC2BC7.BDD2CEF0@nyc.rr.com> <3BFC3F7F.E31CBAF0@nyc.rr.com> <3BFC6AB7.4B7B99B9@nyc.rr.com> <3BFC92C8.FE1BCD84@nyc.rr.com> Mail-Copies-To: never From: Erik Naggum Message-ID: <3215481014063125@naggum.net> Organization: Naggum Software, Oslo, Norway Lines: 51 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 23 Nov 2001 05:10:16 GMT X-Complaints-To: newsmaster@KPNQwest.no X-Trace: nreader3.kpnqwest.net 1006492216 193.71.66.49 (Fri, 23 Nov 2001 06:10:16 MET) NNTP-Posting-Date: Fri, 23 Nov 2001 06:10:16 MET Xref: archiver1.google.com comp.lang.lisp:20791 * Bruce Hoult | - I don't really care whether there is a different (NULL-OF FOO) for | each type, but I'd suggest that it's fine to have them all be the same, | e.g. #F. More efficient to test for, too. The way you deal with these things for efficiency is to accept arguments of any complex (or ...) type you want, but then you something like this (typecase ( (locally (declare (type )) ...)) ( )) ...))) This particular situation may actually be pre-optimized by your compiler with appropriate locally forms and declarations inserted for you. | This is all fine in CL already, *except* that a the list type is (OR | CONS NULL) and (NULL-OF (OR CONS NULL)) is NIL, which is a valid list. | That's why it would be better if there was a distinct "false" value | which wasn't the same as an empty list. "Better" in the absence of a context or a purpose renders the whole statement completely meaningless. Most of the time, context-free "better" simply means "better for me, regardless of consequences or what other people need", and such statements should simply be ignored. I would say they are arbitrary (which is even worse and more misleading than if they were false) because of the absence of specific meaning. I believe the only productive way to learn a new skill is to open one's mind to the superior knowledge of those who already know it well and really listen to their tales of what they went through to get where they are today. If you come from somewhere else and have a different history behind you, whatever you come to will look strange, but if you think what you came from must always be more important than what you are going to, and some people mysteriously believe this _unconditionally_, it will be too hard for them to get into anything new, so they give up, and instead go on and on about how wrong what they came to is. There are immigrants in every culture who keep longing for their past and denouncing their new living conditions for their entire life, but yet do not return. I do not understand what is so special about what one accidentally met _first_ that makes everything one meets later on _productively_ judged by it. /// -- 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.