From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!news2.kpn.net!news.kpn.net!nslave.kpnqwest.net!nloc2.kpnqwest.net!nloc.kpnqwest.net!nmaster.kpnqwest.net!nreader3.kpnqwest.net.POSTED!not-for-mail Newsgroups: comp.lang.lisp Subject: Re: On conditionals References: <3215299538573186@naggum.net> <3215357851897754@naggum.net> Mail-Copies-To: never From: Erik Naggum Message-ID: <3215365347672515@naggum.net> Organization: Naggum Software, Oslo, Norway Lines: 27 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 21 Nov 2001 21:02:29 GMT X-Complaints-To: newsmaster@KPNQwest.no X-Trace: nreader3.kpnqwest.net 1006376549 193.71.66.49 (Wed, 21 Nov 2001 22:02:29 MET) NNTP-Posting-Date: Wed, 21 Nov 2001 22:02:29 MET Xref: archiver1.google.com comp.lang.lisp:20639 * Erik Naggum > Well, unlike what a Perl hacker will expect, > > (setq foo (when bar zot)) > > actually does modify foo when bar is false. * Joe Schaefer | Huh? That's exactly what a perl hacker would expect; in fact, s/he'd | also expect foo = zot whenever bar is true, and foo = bar otherwise. | *That* might be surprising to a lisp programmer, though :) Heh, not at all, because if bar is false, foo will equal bar in Common Lisp, too, although it is a slightly unusual way to look at it. Since there is but one false value in Common Lisp, and Perl has a whole range of them, I suppose there is Perlish sense in your version of this. What I had in mind, however, was that Espen Vestre's example using a postfix if would cause the statement preceding it _not_ to be evaluated if the condition was false. /// -- 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.