Subject: Re: On conditionals
From: Erik Naggum <>
Date: Wed, 21 Nov 2001 21:02:29 GMT
Newsgroups: comp.lang.lisp
Message-ID: <>

* 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.