Subject: Re: Lisp and trees From: Erik Naggum <email@example.com> Date: Mon, 26 Nov 2001 17:57:59 GMT Newsgroups: comp.lang.lisp Message-ID: <firstname.lastname@example.org> * Jeff Sandys | You apparently assumed that *IS* meant "is only". Well, no. I consider "is" without emphasis to be an implication, with emphasis a bi-implication. | I expressed my clarity reservation about utter (meaning absolute) | nonsense (implying untrue), and you clarified that utter nonsense just | means "false". Well, no. Nonsense means "arbitrary", which is neither false nor true. | I will avoid unnecessary emphasis and restate my primary assertion: Lisp | is a binary tree. Well, it is an improvement, but this time, it is just wrong. The cons cell fails one of the primary tests of binary trees: It holds no data. No binary tree I have ever seen described anywhere consists of _only_ two pointers. So my concept of a binary trees necessarily contains payload. If yours does not, we do not share the concept of a binary tree, but there is no Final Authority on this, so I will just argue that according no all known sources of algorithm design, your payloadless binary tree is an anomaly. While I might not consider "an s-expression is a binary tree" worth contesting, I certain consider "Lisp is a binary tree" to be very, very confused, and wrong. | You, too, carefully avoid mentioning what other information a node must | have to be useful. Yes, I do, because that is immaterial. _Some_ information, but I do not care which or what. |  A binary tree is a leaf or a node with two binary trees. | (A restatement of the Winston & Horn definition) This is about the only step of your "logic" I concur with. | Note that there is no mention of other information or at least one value | in his definition and that "an atom representing a node" is added for his | specific instance of the binary tree representation. Is a unique name | for each node sufficient or is there any other information that is | necessary to make a node useful? My answer, no. The question is pretty unclear relative to that simple answer. | I write to the comp.lang.lisp group to serve and to learn. Very noble. :) | One might argue that the computer instructions that evaluates | s-expressions are part of Lisp, but those computer instructions are | unique for each computer and implementation of Lisp. While I do not buy your cons = binary tree thing at all, and will skip it because it appears to be very elaborately wrong instead of simply wrong, there is an important point here about what a program is. Does it cause action by subjecting a static machine that otherwise does nothing to a list of instructions, or is it static data that is accepting by a "live" machine that acts on it? | Therefore I assume that the computer instructions that evaluates | s-expressions are a part of the computer and not a part of Lisp itself. This is perhaps the most interesting leap of faith involved here. (There is nothing inferior or invalid in "leaps of faith" as such.) You seem to regard Lisp as data for that which causes s-expressions to be evaluated. I consider Lisp to _be_ that which causes s-expressions to be evaluated. | If you wish to argue these assumptions or asserted facts, please use | clear logical expressions to avoid further misunderstand. I believe, | with the application of logic, together we can find the truth. There is no such thing as "the truth", but conflicting notions of what is _true_ clearly indicate an error somewhere. With conflicting premises, such as yours and mine, it would be meaningless to strive to arrive at a common "truth". I think your premises are constructed to support the notion that Lisp is a binary tree, not indpendently discovered to be true. /// -- The past is not more important than the future, despite what your culture has taught you. Your future observations, conclusions, and beliefs are more important to you than those in your past ever will be. The world is changing so fast the balance between the past and the future has shifted.