Subject: Re: Macro-writing in CL From: Erik Naggum <erik@naggum.net> Date: Fri, 08 Jun 2001 18:24:59 GMT Newsgroups: comp.lang.lisp Message-ID: <3201013495412888@naggum.net> * "Biep @ http://www.biep.org/" <reply-via@my-web-site.com> > All I was trying to do is to explain why certain code was more complex > than average. How do you measure complexity? How do you know where the average is? > Now this whole "my Lisp is the perfect Lisp" thing saddens me a bit. Why? You have displaed a "my view is the perfect view"-attitude to almost everything else already? Is it because you get counter-arguments that show that your view is _not_ perfect that it saddens you? > I am glad the Scheme community resisted the ARPA pressure to merge with > CL, and I do hope EuLisp is not still-born, but even then, a mere three > Lisps.. It saddens me to see someone with so little actual knowledge have such strong opinions. > Maybe it is just old age, but in my experience the days before > standardisation were much more fun, when you wrote a Lisp with some neat > feature and showed it around, and looked at other peoples' Lisps and took > their stuff seriously. The rebel nature has always had more fun before laws and regulation, which, amazingly, a majority of people actuall prefer, took away their "freedoms". There are always people who can only have "fun" in a society without set rules, i.e., where they make up their own and can change them at will. There are people who do not want others to have "fun" at all and make up so many rules that nobody can do anything unanticipated without breaking enough to hurt you. Then there are people who grow tired of making up rules all the time, of ever-changing rules everywhere they go, of finding that the human capacity for memory is an _enemy_ instead of a good friend in living productively, of living in fear of their long-range planning turning to an exercise in futility because the rules change so fast they cannot plan long-range at all. (These people are not trying to do business in the Norwegian tax "climate", however, where politicians today are debating whether to withhold a tax break they promise us ten years into the future back in 1992, because, amazingly, it will reduce government revenue.) In short, the only people who have more "fun" in a society without rules are the people who have enough power to make the rules. If you recall such insignificant political events as the Magna Carta, which forced the then King of England to behave, or The Declaration of Independence, which forced the ruling England to withdraw their power to make rules over people in America, or the Universal Declaration of Human Rights, which basically sets limits to what the rule-makers can do to those who lack the power to make their own rules, so they have to _follow_ rules, you might begin to understand that the ability to make up rules as you go and to change everything all the time is not at all appreciated by those who try to follow them. This also applies to programmers writing software in Lisp, companies basing all or some of their business plans on such software, or vendors who want to sell stuff to both of these parties, who consider the lack of agreement on the rules so hard to live with, but which the rebel nature finds so endearing because it is anathema to that dreaded anti-rebel concept of _responsibility_. It is probably a mystery to you, so please feel free to believe me on faith, but societies, small and large, that have stable rules have prospered much, much more than societies with unstable rules. This seems to apply regardless of what the rules are, but bad rules tend to be unstable, so we are driven towards societies with stable rules. Globalization forces countries with irrational policies to reevaluate their rules because people are free to choose the rules they want to apply to their business and their personal lives. Guess what kind of people find this so dangerous and fight it so much. Precisely the kind of people whose main philosophy in life is to be on the rule-making end of the rules. More reasonable people tend to consider both the maker and the follower of rules. > Oh, I know, some research is still going on, but it seems the gusto is > gone, and that is not because we have reached the status of "perfect > language". The point with Common Lisp macros is that you can devise your own language if you want to. Scheme has successfully been implemented in Common Lisp, for instance. What was once called "research" is now more often called 'application programming" because the research has sort of "trickled down" into the masses. An amazingly amount of AI stuff has taken this route and is no longer considered "AI" for that reason alone. _Compilers_ were once a very, very advanced "AI" research project. I think the evidence of what is going on in the other languages shows us that we have indeed reached the status of perfect language, but a lot of rebels of sometimes severely limited intellectual resources are never going to be satisfied with it, and insist on reinventing everything that is already in Lisp badly. The little _actually_ new stuff that people do can also be done in or with Common Lisp. More often than not, however, the "new" is in standardizing some of the environmental issues. I guess it was a lot more "fun" before we had standardized environments, right? I want to build things. That _includes_ languages, but not exclusively. People who build languages have a very hard time. People who build stuff that _more_ than just programmers and researchers can use have a slightly easier time. This has nothing to do with the perfectness of languages. #:Erik -- Those who do not know Lisp are doomed to reinvent it.