Path: utzoo!utgpu!water!watmath!clyde!rutgers!ames!amdcad!sun!pitstop!sundc!seismo!uunet!mcvax!ukc!dcl-cs!simon From: simon@comp.lancs.ac.uk (Simon Brooke) Newsgroups: comp.lang.lisp Subject: Re: A CL iteration macro, "while". Keywords: LOOP WHILE UNTIL ITERATION MACROS Message-ID: <469@dcl-csvax.comp.lancs.ac.uk> Date: 19 Jan 88 16:04:26 GMT References: <13639@beta.UUCP> <3503@whuts.UUCP> <464@dcl-csvax.comp.lancs.ac.uk> <544@cresswell.quintus.UUCP> Reply-To: simon@comp.lancs.ac.uk (Simon Brooke) Organization: Department of Computing at Lancaster University, UK. Lines: 26 In article <544@cresswell.quintus.UUCP> ok@quintus.UUCP (Richard A. O'Keefe) writes: >The trouble with all of this is that we each end up with our own language. >In an Interlisp project, I had my own (while ...) (until ...) (when ...) >and (unless ...) macros. This was ok until we added another programmer, >who didn't want to load all of my environment just so that he could use >the parts he was supposed to be working on. (There were other problems.) >Let's face it, none of the macros various people like is enough of an >improvement on FOR or loop to pay for the confusion in multi-programmer >projects. This is fair comment. The major problem with an arbitrarily expandable language like LISP is that we all end up with our own incompatible variants. But at the same time, if the language is to continue to develop, the good variants need to be publicised, so that they can be incorporated into new standards as they develop. Iteration does not fit naturally into LISP; and the development of iterative constructs has lead to some of the ugliest and murkiest bits of the language. But we deal with hardware which (generally speaking) is more efficient at iteration than at recursion. So it is important that we continue to think about the iterative constructs that we use. Gosh, doesn't that sound pompous! :-={ (Note stiff upper lip) Simon Brooke