Path: utzoo!utgpu!water!watmath!clyde!att!mtunx!rutgers!njin!princeton!udel!rochester!cornell!batcomputer!itsgw!steinmetz!uunet!seismo!esosun!jackson From: jackson@esosun.UUCP (Jerry Jackson) Newsgroups: comp.lang.lisp Subject: Re: What's the value of lexical scoping? Message-ID: <199@esosun.UUCP> Date: 8 Jun 88 19:35:50 GMT References: <24508@ucbvax.BERKELEY.EDU> <515@dcl-csvax.comp.lancs.ac.uk> Organization: SAIC, San Diego Lines: 58 In-reply-to: simon@comp.lancs.ac.uk's message of 7 Jun 88 15:57:12 GMT >>Obviously, I have my ideas about what a good LISP looks like (all right, >>as a minimum it has dynamic binding, both LAMBDA and NLAMBDA forms, at >>least the option of non-intrusive garbage collection; although it allows >>macros, there is nothing you can't do with a function; and it does not >>have packages, PROG, GO, stupid tokens in parameter lists, SETF....) - >>everybody else out there has their own list. If you *care* about your >>working language, the best way to make sure that this committee does not >>produce another ugly camel is to identify your nearest working group >>member and lobby as hard as you can. *DO IT NOW*. FLAME ON This is really incredible.... I've heard people flame about CommonLisp many times.. (I have even done it myself on a few occasions..), but I've never heard anyone attack some of these features -- *ahem* -- First of all, CL supports dynamic binding for those cases where it is useful (I admit they definitely exist), although dynamic binding is quite clearly a *BUG* (the names you give to local variables should not matter...) NLAMBDA -- cannot be made efficient (unless you consider a run-time call to EVAL efficient) packages -- Ok, I agree with this one, however a case may be made for an environment oriented package system (requiring lexical scoping) PROG,GO -- For people who never have to write powerful tools I would agree that these are not necessary, but if you had ever tried to compile a special purpose language to lisp and make it reasonably efficient, you would appreciate the value of having things like PROG and GO as compilation targets tokens in parameter lists -- Isn't it really obvious that something like member with a few options is better than the excessive proliferation of look-alike functions (ala memq memql memqual ...) SETF -- I can't believe my eyes... This is one of the BEST things about CL... I don't know what to say. Anyone who has actually USED CL with setf for a while knows what I'm talking about. HAVE YOU EVER USED LISP????? (I'm quite sure you have never used CL -- no one who had could have said the things you said.) FLAME OFF +-----------------------------------------------------------------------------+ | Jerry Jackson UUCP: seismo!esosun!jackson | | Geophysics Division, MS/22 ARPA: esosun!jackson@seismo.css.gov | | SAIC SOUND: (619)458-4924 | | 10210 Campus Point Drive | | San Diego, CA 92121 | +-----------------------------------------------------------------------------+