Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!sdd.hp.com!hplabs!otter.hpl.hp.com!otter!sfk From: sfk@otter.hpl.hp.com (Steve Knight) Newsgroups: comp.lang.lisp Subject: Re: Virtues of Lisp syntax Message-ID: <1350030@otter.hpl.hp.com> Date: 6 Sep 90 16:04:50 GMT References: <3368@skye.ed.ac.uk> Organization: Hewlett-Packard Laboratories, Bristol, UK. Lines: 34 Andy (& Jeff too) point out that: >Prolog most definitely has quoting rules; case matters in obscure ways >and constants that begin with the wrong case have to be quoted. The result >isn't simpler. OK - you can see the distinction between variables (begin with upper case) and atoms (anything else) as a quoting scheme. However, it certainly has none of the complexity of Lisp's quoting schemes -- there's nothing that corresponds to backquoting. It hardly deserves the adjective 'obscure'. As evidence to this, I've never seen a failure-to-quote error committed in Prolog, though I've seen it many times in Lisp. Is this just a UK thing? Perhaps teaching methods in the US mean that students rarely or never make those errors? I know it is a big problem for Lisp acceptance for students in the UK. >As to the advantages of infix/postfix/prefix syntax, I note that >operator arity is not limited to 1 and 2. Again, prolog uses two >sytaxes of syntax to handle a case that is handled by one syntax in >lisp. (I'm referring to the opr(i,j,k,l,m) vs a <- b , c business.) This point eludes me. Prolog has a limited way of extending its own syntax, it is true. I was simply stating my view that it is able to create a more satisfactory syntax even with those limits. Obviously, the attractiveness of syntax is in the eye of the beholder. I have to accept that folks like Jeff are sincere when they argue that the syntax of Lisp is very attractive for them. (I am even inclined to agree when the alternative is C++.) My argument, which wasn't contradicted, I think, was only that you could have the same benefits of Lisp syntax without the exact same syntax. Steve