From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.esat.net!nslave.kpnqwest.net!nloc.kpnqwest.net!nmaster.kpnqwest.net!nreader1.kpnqwest.net.POSTED!not-for-mail Newsgroups: comp.lang.lisp Subject: Re: On conditionals References: <3215299538573186@naggum.net> <87adxgl4iu.fsf@asaka.latnet.lv> <3BFC0E0B.4C7DA5D4@nyc.rr.com> <86elmrch7x.fsf@gondolin.local.net> <3BFCC98F.5AB36E51@nyc.rr.com> Mail-Copies-To: never From: Erik Naggum Message-ID: <3215428049135834@naggum.net> Organization: Naggum Software, Oslo, Norway Lines: 38 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 22 Nov 2001 14:27:31 GMT X-Complaints-To: newsmaster@KPNQwest.no X-Trace: nreader1.kpnqwest.net 1006439251 193.71.66.49 (Thu, 22 Nov 2001 15:27:31 MET) NNTP-Posting-Date: Thu, 22 Nov 2001 15:27:31 MET Xref: archiver1.google.com comp.lang.lisp:20729 * Kenny Tilton | What does the compiler say? No Lisp implementation differentiates | between NIL and '()? So, as I see it, my mental processes should not. Is there no difference between (- x) and (1+ (lognot x)), either? How about (first x) and (car x)? Or (ash x 3) and (* x 8)? | Don't forget, folks, we are engaged in hand-to-hand combat with compilers. I have never viewed compilers this way. Compilers are not the IRS. | It would be great if some 3GL let us forget about assembly language, but | in fact every time I want to whack something from a list I must choose | between delete and remove. Explain to bubba that delete and remove from | lists are different...no way, you have to talk about implementation, cons | cells, pointers. Huh? (let ((x '(1 2 3))) (delete 2 x) (equal x '(1 2 3))) => nil while (let ((x '(1 2 3))) (remove 2 x) (equal x '(1 2 3))) => t. | Now to be fair, by saying NIL and '() you are over-specifying, latching | onto conceptual differences at a finer granularity than the compiler, so | you are on solid ground. But to me that attitude is dangerous. It relies | on a fiction. Better to acknowledge the mindset of the compiler, who in | the end decides the behavior of our so-called high-level code. Some of us think the specification for the compiler decides the behavior of the compiler. That some things which produce the same effect but look different should be treated differently can be exemplified by "its" and "it's" and by "there" and "their" and "they're", both of which for some reason do not appear to be distinct to a number of American spellers. /// -- 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.