Subject: Re: On conditionals
From: Erik Naggum <>
Date: Thu, 22 Nov 2001 00:11:22 GMT
Newsgroups: comp.lang.lisp
Message-ID: <>

* Thomas F. Burdick
| I'm not so sure about false, though.  I don't like the pun that () is the
| same as boolean false.  I also don't like that the empty list is a
| symbol.  Don't get me wrong, it's easy enough to cope with, but it's
| conceptually sloppy.

  I find it conceptually very clean.  I find it equally conceptually clean
  that 0 is false in C.  Neither do I have any problems with Perl's false
  values.  I do have a problem with Scheme's anal-retentive false, because
  it is so goddamn hard to obtain a false.

| I don't even see any good reason why NIL should be false.

  There has to be at least one false value.  Making the empty list false is
  simply a very good choice for a language that gives you lists as a close
  to primitive type.  Linked lists have to be terminated by _something_,
  and that something might as well be the answer to the question: "Are
  there any more elements?" as a matter of pragmatics.

| So, I guess what I'm saying is that you ought to explain your objection
| here (or point to a message where you've explained it before, since I'm
| sure you have).

  I have lost track of which objection you might be referring to here, but
  I hazard a guess it is that I think making nil different from false is
  nuts.  It is nuts from a pragmatic point of view.  Conceptualizations
  that go against the pragmatic are even more wrong than Scheme in general,
  but it is precisely because Scheme's conceptulization is impractical that
  they have chosen to make their language impractical but conceptually
  pure.  I think Scheme is an excellent example of how you go wrong when
  you decide that "practicality" is a worthless axis to find a reasonable
  position on, or not even consider at all.  Common Lisp is a practical
  language and its conceptualization is one of trying to figure out what
  the most elegant practical expression would be, not how impractical the
  most elegant expression would be.  This is just something Scheme freaks
  will never accept as a point of serious difference between Common Lisp
  and Scheme.  I look at Scheme from a Common Lisp viewpoint, of course,
  and that is not very productive, but Dorai Sitaram brought up this Scheme
  nonsense as a reasonable way to talk about Common Lisp features.  I think
  I put it sufficiently clear when I started my reply with "Scheme is all
  wrong".  Those who do not think so are of course free to talk about
  Scheme all they want, but the sheer _insistency_ that Scheme freaks come
  to present their "views" about Common Lisp is really annoying.  At least
  they have their own community, so it is not as if they are fragmenting
  the _Common_ Lisp community, but they also think they have a Lisp, and
  that is at least as annoying.

  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.