Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!ames!ucbcad!ucbvax!decvax!tektronix!uw-beaver!ssc-vax!bcsaic!larryb From: larryb@bcsaic.UUCP Newsgroups: comp.lang.lisp Subject: Re: Against the Tide of Common LISP Message-ID: <360@bcsaic.UUCP> Date: Mon, 16-Feb-87 15:02:08 EST Article-I.D.: bcsaic.360 Posted: Mon Feb 16 15:02:08 1987 Date-Received: Wed, 18-Feb-87 03:46:28 EST References: <2581@well.UUCP> <2582@well.UUCP> Reply-To: larryb@bcsaic.UUCP (Larry Baum) Organization: Boeing Computer Services AI Center, Seattle Lines: 30 In article <2582@well.UUCP> jjacobs@well.UUCP (Jeffrey Jacobs) writes: >a function, it is not *lexically* apparent whether an argument is >SPECIAL or local, i.e. if I enter > >(DEFUN CONFUSE_ME (X Y Z)... > >Now, you tell me if the variables are going to be dynamic or lexical? >Was a DEFVAR or a PROCLAIM issued earlier? No way to tell, is >there? It is precisely for that reason that ALL special vartiables should be so noted by the use of surrounding asterisks, such as *terminal-io*. This does not, admittedly, rebut your complaint. However, as in most cases, maintainability is still a programmers responsibility. If I nhave to maintain your code, I will be upset if you do not stick with this convention. >You know perfectly well that interpreting macros takes more time! >First you have to EVAL the form, and then give the result to EVAL >again! (And I *don't* consider it kosher to destructively expand >without the user's control). > What is your alternative? Don't use macros if you don't like them. How else could they be implemented that would not cause an extra step at eval time? LSB -- * The opinions expresses are not necessarily those of my employer *