[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Why we should not try to add programming environments to the Common Lisp standard



    Date:     Mon, 5 May 86 14:47 EST
    From:     MURRAY%umass-cs.csnet@CSNET-RELAY.ARPA

    While portability is the major concern, let us not forget that another
    benefit of standardization is that programmers can
    move to another project, company, or system and
    not have to learn an vastly different enviornment.

This is an argument in favor of developing a standardized programming
environment.

One reason that Common Lisp came into existence was a widespread feeling
that a group of us pretty much agreed on what Lisp is, or should be, and
that it was time to consolidate and standardize on what we already
understood.  Language features that we felt were still under active
development, and were not yet well understood, stable, and agreed upon,
were omitted.

I believe that there is general agreement that most programming
environment facilities are still in the state of active development;
there is not a widespread concensus about how they should work.
Therefore, adoping them as part of the actual Common Lisp standard is
not appropriate yet.

However, this is one of the reasons for the concept of the "yellow
pages" library of shared, portable programs.  Such facilities can be
placed into this library and made widely available.  If experimentation,
time, and experience lead to a broad concensus, then it's time to
consider promoting the program to "white pages" status.  I presume that
the steering and/or technical committees will produce an official policy
statement about this at some point.

				     Now, I think Zetalisp's defsystem, while
    very powerful, it's fairly complicated, has horrible syntax, and isn't quite
    the right thing.

By the way, the Software Products department of Symbolics agrees with
this.  Release 7 will have a completely redesigned facility that is
simpler, has greatly improved syntax, and is closer to the right thing.
It's called the "system construction tool", and was mentioned in the
Release 7 announcement a couple of weeks ago.  The reason I bring this
up is to show that things are still in a state of active development,
and too volatile to be cast in the concrete of the Common Lisp
specification.