Subject: Re: On nil qua false [was: Re: On conditionals]
From: Erik Naggum <erik@naggum.net>
Date: Fri, 23 Nov 2001 05:10:16 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3215481014063125@naggum.net>

* 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 <arg>
  (<type-1>
    (locally (declare (type <type-1> <arg>))
      ...))
  (<type-2
    (locally (declare (type <type-2> <arg>))
      ...)))

  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.