Subject: Re: what is false From: Erik Naggum <erik@naggum.no> Date: 10 Dec 2002 19:30:15 +0000 Newsgroups: comp.lang.lisp Message-ID: <3248537415706972@naggum.no> * Paul Dietz | Having (OR 0 0) return T would be in violation of the CL | specification, and also in violation of what the OR macro has been | doing in most lisps for decades. I'd be very surprised if ACL did | that. It was my experience that the version of Allegro CL known as "ACL 3.0 for Windows" was a very strange version of Common Lisp. I had tried to use it for a project, but when there were so many oddities that I spent more time trying to figure out which language it tried to implement than to implement my own application, I dropped it. | In practice most lisps will return T for true in most places; it's | a shame the standard didn't require this in more places. Hm. I did not follow your reasoning here. Why is it a shame? By the way, which operators return a `boolean´ as opposed to only a "generalized boolean"? The obvious choice is of course `not´. | There would be a slight efficiency advantage to having false == 0 | in the usual lisp implementations, since obtaining a nonzero NIL | for comparisons requires either extra instructions or consumes a | register. If you use a register for `nil´, you can exploit that in ways that are quite a lot more beneficial than the savings of using 0. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.