Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!netnews.upenn.edu!msuinfo!midway!tank!stephen From: stephen@estragon.uchicago.edu (Stephen P Spackman) Newsgroups: comp.lang.lisp Subject: Re: FALSE vs empty list Message-ID: Date: 3 Sep 90 23:29:54 GMT References: <24305@uflorida.cis.ufl.EDU> Sender: news@midway.uchicago.edu (News Administrator) Distribution: usa Organization: University of Chicago CILS Lines: 40 In-Reply-To: drc@beach.cis.ufl.edu's message of 3 Sep 90 22:27:15 GMT In article <24305@uflorida.cis.ufl.EDU> drc@beach.cis.ufl.edu (David Cabana) writes: I have heard critics of lisp object to the identification of the empty list and the boolean value FALSE. I am afraid I fail to see point of this objection. Can anyone explain this, or suggest references in the literature? Thanks. I think that to take this view you need to think either (1) of Lisp NOT as providing (which I think it does) its own little computational logic under the classical model that god gave us equality and man invented types (in which vase it's an annoyance not to be able to use NIL as UNSPECIFIED as distinct from TRUE and FALSE) or (2) that Lisp is crypto-typed and each type should get a distinct set of members thank you very much (which I *think* is a purely aesthetic argument, but it might have its uses in some analytic techniques; did boyer&moore need to distinguish them for formal purposes? I think they did) Myself I think of it this way: all the world is typed. Every type contains a "no, forget it" value. IF is polymorphic; it tests for this distinguished value of ANY type. Finally, Lisp doesn't mention types (Lisp types aren't my types because I they aren't prior) so it collapses all functionally identical atoms into single objects - effectively using "pre-casting", if you think about the arrows. That way I can fit most programming languages into the same model. Myself, I find polymorphism in IF and OR (and AND if it works on lvalues! - in C syntax if not semantics <<(a && b) = c>>) stupendously useful and entirely formalisable, though I like, as I say, prior typing (the whole idea of equality without type hurts my mind. I mean how do you compare two THINGS for equality when for all you know one is a yak and the other is a superintelligent shade of the colour blue? I mean, you can't even pick them up until you know their types! No flames, this is just a personal failing. :-). Is anyone any clearer on this? stephen p spackman stephen@estragon.uchicago.edu 312.702.3982