Subject: Re: On nil qua false [was: Re: On conditionals]
From: Erik Naggum <erik@naggum.net>
Date: Thu, 22 Nov 2001 18:39:13 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3215443150672901@naggum.net>

* Bruce Hoult
| Here's what I don't get about CL confusing false and the empty list:  

  Please stop thinking of it as a "confusion", and you may get it.

| suppose you have a function (foo name) that returns a list of all the
| classes being taken by a student.  If the function returns NIL, does that
| mean that the student is taking no classes at the moment, or does it mean
| that the student doesn't exist?

  Well, read the documentation of the function to find out.  What else can
  there possibly be to say about this?  This is a non-existing problem.

  Since you think SQL's NULL is so great, do you get a NULL if the student
  whose classes you ask for does not exist?  Why would you ask for the
  classes of a non-existing student?   Not to mention, _how_?  Is a student
  somehow magically adressable?  In other words, what did you give that
  function as an argument to identify the student?

| It seems to me that using an empty list to represent NULL is just as bad.

  If you need to distinguish the empty list from NULL (nil) in the same
  function, your design sucks because you are confused, not the language.
  
///
-- 
  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.