[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Scheme Standard
The Microprocessor Standards Committee (MSC) of the IEEE Computer
Society is proposing formation of a working group for the purpose of
developing an IEEE Scheme standard. Some of the merits of such
a move follow:
PRO:
(1) An official standard will demonstrate the LEGITIMACY of Scheme in
the eyes of many. I expect this will frequently make the difference
in decisions by businesses and educators to adopt Scheme.
(2) It will increase Scheme's VISIBILITY. Word of standards
travels in many quarters where Scheme is hardly known.
(3) It will add MOTIVATION and DISCIPLINE to efforts at refining
Scheme. The last Scheme meeting we had indicated some need for more
discipline, and perhaps the lack of activity in this newsgroup of late
indicates need for more motivation.
(4) It will improve code portability (and publication uniformity).
The force of this point is reduced greatly by the existing Report,
which satisfies much of this need.
CON:
(5) Changes could be made that would be unreasonably expensive for
existing Scheme implementations to incorporate.
(6) Unnecessary and technically flawed features could be added.
(7) The specification could make Scheme rigid, cutting off
experimentation and research.
(8) Participants would be forced to cope with administrative hassles
and the time and monetary costs of travel to meetings.
The PROs speak for themselves, though comments that expand or
reinforce them are welcome. Let me address the CONs.
I believe (5) and (6) are the most serious concerns. They express
fear that the authors of the existing Report, who have been very
conservative in these respects, will "lose control" of the
standardization process. The best strategy for avoiding this is to
act promptly. By acting now, I believe the Report authors and others
of like mind will prevail both in voting numbers and administrative
matters. If we delay, others will almost certainly initiate the
standardization process (and thereby assume administrative control).
Also, the longer we wait the larger the Scheme community becomes. An
increasing number of converts to Scheme are apt to be defectors from
Common Lisp who want something simpler, but are also attached to all
sorts of things that we'd rather not see in Scheme. Many of these
folks will be from industry, with travel money and agendas that will
bring them to standards meetings.
Working group attendance is open to the public. Voting rights are
based on attendance at recent meetings, using a formula determined by
the Chair and acceptable to the MSC. A reasonable formula would give
voting rights initially to attendees of the previous Scheme Report
meetings and exclude others at their first meeting, and perhaps also
their second.
Official standardization may contribute a bit to the rigidity of a
language, but I believe this contribution will be much less than is
feared by some. Standards are typically revised every two years or
so, at least for the first few revisions, and it is certainly possible
to reverse earlier decisions. The best known standards are for the
best known languages, and the standards process for these languages
reflects the inertia already present as a result of long tradition.
A standard inevitably costs time and money, but I believe this can be
kept to tolerable levels. Though active working groups typically
meet about four times a year, by continuing our tradition of extensive
discussions on the net it should be possible to reduce this number to
two per year.
In balance, I feel the advantages of a standard clearly outweigh the
disadvantages, at least if we act reasonably soon so it does not get
out of control.
The MSC will consider the formation of a Scheme standardization
working group at its meeting on January 7th. I am being considered
for Chair, with Will Clinger for Vice-Chair. I have no "hidden
agenda". In the first year or so I would like to see the working
group endeavor to ratify approximately what we already have in the
R3RALS, with some clarifications and improvements that were intended
for a R4RALS in the same time frame. Standardization is a means to
consolidate and gain recognition for progress that has been made. It
draws upon and facilitates (rather than precludes) progress by less
institutionalized groups.
Comments are welcome.
-- Chris Haynes