Subject: Re: Macro-writing in CL
From: Erik Naggum <>
Date: Fri, 08 Jun 2001 18:24:59 GMT
Newsgroups: comp.lang.lisp
Message-ID: <>

* "Biep @" <>
> 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.
  Those who do not know Lisp are doomed to reinvent it.