Path: utzoo!attcan!uunet!mcvax!ukc!etive!aiai!jeff From: jeff@aiai.ed.ac.uk (Jeff Dalton) Newsgroups: comp.lang.lisp Subject: Re: Unix Lisp Environments (why the slow evolution) Keywords: resistance to lisp Message-ID: <487@skye.ed.ac.uk> Date: 29 May 89 18:50:05 GMT References: <31670@sri-unix.SRI.COM> <469@skye.ed.ac.uk> <1028@syma.sussex.ac.uk> Reply-To: jeff@aiai.UUCP (Jeff Dalton) Organization: AIAI, University of Edinburgh, Scotland Lines: 37 In article <1028@syma.sussex.ac.uk> aarons@syma.sussex.ac.uk (Aaron Sloman) writes: >There is some evidence, albeit based only on a number of cases >rather than systematic research, that it is much easier to convert >people to Lisp-like ways of thinking if you give them a Lisp-like >language (with all the benefits of incremental compilation, >integrated editor, garbage collector, pattern matcher, lists, >records, arrays, tuples, etc etc) but not a lisp-like syntax. > >Instead provide a syntax that is richer, more readable, and above >all more familiar to them. > >I am of course, referring to Pop-11 Over the years, quite a few preprocessors have been written. These preprocessors convert some more conventional notation to Lisp. None of them has caught on in the Lisp community. So I guess that shows there are some people who actually prefer the Lisp syntax. Of course, Pop-11 isn't a preprocessor. But it's still true, I think, that syntax is a matter of taste. >Here's how you let the variables x, and y, iterate over the elements >of lists L1 and L2 in Pop-11, so that you can apply function f to >one element from each list: > > for x, y in L1, L2 do > f(x,y) > endfor; Lisp macros are an alternative to preprocessors that can work well in some cases. For example, the loop above could be written (loop for x in L1 and y in L2 fo (f x y)) -- Jeff