Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!asuvax!noao!arizona!gudeman From: gudeman@cs.arizona.edu (David Gudeman) Newsgroups: comp.lang.misc Subject: Re: scheme [Re: What does an anti-perl look like] Message-ID: <4732@optima.cs.arizona.edu> Date: 30 Jun 91 21:44:26 GMT Sender: news@cs.arizona.edu Lines: 78 In article Industrial Poet writes: ]gudeman@cs.arizona.edu (David Gudeman) writes: ]> ]> Two answers: (1) there is presumably some other advantage to oriented ]> programming that gives incentive to go through the discomfort -- the ]> same does not apply to lisp syntax. ] ]That's your opinion. A lot of people see great advantages in the syntactic ]flexibility and simplicity of Lisp. A lot of people don't. ]> ]1. It's simple. You can summarize all the syntax you need to know on the ]> ] back of a postcard. ]> ]> Not true. You have to specify the special syntax of defun, let, ]> protect-unwind, do (which is worse than anything I have ever seen in ]> an algol-like language), etc. ] ]Sorry? What "special syntax" are you referring to here with your examples? ]I'm not entirely sure I understand what you mean by a "special" syntax as ]opposed to the standard one. The do loop is part of the standard sytax. It is a very complex structure, and cannot be described on a postcard even by itself, even along with the rest of the syntax. The syntax of lisp special forms is just as complicated as control structures in any other language. The only difference is that in lisp these control structures are forced to look like function calls (which makes them harder to recognize). The _only_ think in lisp syntax that can be truly be called "simpler" than traditional syntax is the lack of infix operations. ] ]> You have to specify what operators take ]> more than the normal number of parameters. ] ]You're applying a concept which doesn't fit the language. Lisp functions ]like + and cond don't have a "normal number of parameters". (+ 2 3 5) isn't ]a special version of + with an abnormal number of parameters; it's the same + ]which you find in (+ 2 3). First, cond isn't a function it is a special form (called a control structure in other languages). People often make such mistakes in Lisp because of the "simplifying" homogeneous syntax. (In fact when I taught lisp, I found one of the most confusing things to my students was trying to distinguish between functions and special forms.) Second, (+ 2 3 5) certainly _is_ a special version of + with an abnormal number of parameters. + is taken from mathematics where it almost always has just two arguments. ]If it were (believe (not (syntax-hinders-learning Lisp))) then you could ]indeed re-phrase it as a positive assertion. But as it stands I am not ]making an assertion; I am simply doubting an assertion you have made. Sorry, I had you confused with the person who wrote the original article. He certainly _did_ make positive assertions, therefor your claim that I was the only one who needed to provide evidence is wrong. ]> You have no idea how strongly I hold this opinion. ] ]Clearly you hold it fairly strongly, or you wouldn't go on about it so much. Shows what you know. I would go on about anything if I was prodded right (I expect many of the regular readers of this group can vouch for that :-). My prodding in this case came from an article where someone said the issue of syntax isn't important. I find this attitude to be particularly arrogant. Just because it isn't a problem for _you_ doesn't mean it isn't a problem. And my observations indicate that it _is_ a problem for a lot of people. It so happens that I _don't_ hold this opinion very strongly. I could be easily swayed by an experimental study on the matter (even though I am not under the illusion that such studies are always sound). -- David Gudeman gudeman@cs.arizona.edu noao!arizona!gudeman