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

Re: Standardization

I don't understand most of the responses to RPG's proposal.  This may
be due to my lack of experience in standards activities or my
ignorance of IEEE/ISO/ANSI/X3/X3J13 politics.  (BTW - what are the
latter two short for?)  RPG mentioned a number of political problems
in the CL standardization process.  Most of the messages that mention
these problems suggest that Clyde Camp's proposal avoids them but that
isn't obvious to me.  RPG is offering whatever structural help the CL
standardizers can offer - under Camp's proposal, the Scheme community
has to do everything itself.  In RPG's proposal, unlike Camp's, the
Scheme community doesn't have to fight the battles that the CL
standardizers have already won.  What specific things does IEEE offer
that are less likely under RPG's proposal?  Doesn't Camp's proposed
Scheme standardization have to jump through hoops that RPG's puts us

I believe the "Scheme is a Lisp" dogma and that Common Lisp is also a
Lisp; I expect the next Lisp to appear soon (although it may not be
recognized for a 10-15 years).  I want to provide substantial
cross-fertilization among the members of the Lisp family (although I
expect CL to provide most of the negative lessons) without sacrificing
the autonomy that they need.  (What little I've heard from the logic
programming community suggests that they are taking this approach,
unlike the proponents of yet-another-algebraic-language.)  Therefore,
I'd like to see a standardization structure that reflects that
relationship (I'll explain why I think it is now time to standardize
Scheme in a couple of paragraphs).  In other words, I'd like to see
something along the lines of:

       /     |     \
     CL   Scheme  Future Lisps

Neither Camp's IEEE nor RPG's X3J13 sub-committee proposal match that
structure but I think that RPG's is easier to "subvert".  I may be
naive, but if the CL people want this structure, it should be easier
to promote a sub-committee than it is to bring in an outside group.
Can we arrange for this to happen at the same time the initial Scheme
standard is approved?  If we can't, RPG's proposal is obviously
inferior; if we can, that's a big point in its favor.

Why I think Scheme Standardization is Good:

A few weeks ago, John Ramsdell said that the current R^nRS language
was not a good candidate for standardization because it was missing
eval, objects, macros, support for programming in the large, and
parallelism; others mentioned logic variables and type inferenceing.
I agree with something implied by Chris Haynes; he said that a
standard was an agreement on what was stable.  I think we can push
this a bit further and use standardization as a framework for managing
the medium-term development of Scheme.

Note that I am not saying that the standardization process should
design Scheme; Kent Pitman among others is absolutely right when he
says that "the organizational structure of a standards committee is
not appropriate for design work."  I would like to see the first round
of Scheme standardization result in the red book as a trial standard
and an agreement that the revision two years later would incorporate
eval and objects and possibly macros.  If macros are ready by then,
then that standard could be a full standard to be followed in 5 years
by a revision than incorporated some support for programming in the
large and logic variables.  If macros aren't ready in two years, then
there could be another interim standard until they are.  Something
similar can be done for libraries.  In each case, I expect to see
competing proposals based on experience.

In other words, I'd like to see a Scheme standard that is not only an
agreement on what is and what direction we're going but one that also
schedules revisions of both.  I think that CL would have been better
now if they'd have started 10 years earlier and gone through the loop
a few more times with a similar plan.

One of the beneficial side effects of a planned series of standards is
that eventually Scheme development ends; it schedules the death of
Scheme.  Either Scheme-2010 is the one true lisp used by all (except
for the fortran heretics) or, as I expect, we'll have something nice
to use while epitome is developed using the scheme experience.

If I'm completely confused, I'd appreciate E-mail; there's no need to
post what everyone else knows.