From ... From: Erik Naggum Subject: Re: PROGN considered intrusive? Date: 1999/03/22 Message-ID: <3131062658198428@naggum.no>#1/1 X-Deja-AN: 457426170 References: <3131012851256245@naggum.no> <7d400a$9b9$1@nnrp1.dejanews.com> mail-copies-to: never Organization: Naggum Software; +47 8800 8879; http://www.naggum.no Newsgroups: comp.lang.lisp * Vassil Nikolov | I would have problems with IF* (or however one might call it). (I have | the same (psychological) problems with LOOP---with all these | deparenthesised keywords its syntax appears `brittle' to me, so | personally I find its use justified only when it offers useful | functionality in simple syntax, like COLLECT,--- when things get more | complicated with a DO.) I happen to like IF and (extended) LOOP, but the curious thing is that the proponents of IF* hate (extended) LOOP. I actually have a very hard time understanding the arguments in favor of IF* (it actually expands into a COND which I find very readable, in particular after teaching the pretty printer to indent the body of clause two more spaces), and I have a very hard time reading IF* code trying to figure out what happens with with THENRET, ELSEIF, and whatnot, but not with the COND expansion. however, there is probably a real concern somewhere in there (despite the "I don't _want_ to like IF, WHEN, UNLESS, or COND!" it sounds like), and I thought maybe it could have been PROGN. the important thing is that there's a culture of IF* users that I'd _like_ to work with, but I'm getting overpowering urges to fix it all the time when I look at such code. so I was appealing to the general Lisp community for a means to solve an underlying problem, which would remove or seriously weaken the rationale for IF*. | ... I think all CL forms that could have an implicit progn in the body do | so. IF obviously couldn't. well, not that this is important, but IF _could_ take an implicit PROGN in the else part. MACLISP did, and Emacs Lisp (consequently) does. | In any case, {} makes more sense than IF* to me. (I might use {} but I | wouldn't use IF*.) FWIW, thanks. #:Erik