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

Scheme Standardization

I've found the whole subject of standardization of Scheme mildy
distasteful, so I've held off expressing my views until now.  As some
of you know, Clyde Camp occupies the office next to mine here at TI.
Clyde and I have had frequent debates in which I argued against any
efforts to formally standardize Scheme.  Dick Gabriel's recent posting
advocating X3J13 jurisdiction over Scheme and Will's rebuttal have
finally brought it all into focus for me: Scheme is not Lisp, it
certainly is not Common Lisp, and we must not let the X3J13 or ISO
standardization of "Lisp" threaten our own efforts to make Scheme what
it wants to be.

The fallacy is that all those languages named on the cover of "Common
Lisp: The Language" (CLtL) are merely dialects of a single language,
Lisp, and that Common Lisp is the modern "mainstream" incarnation of
the Lisp language.  The truth as I see it is that Lisp 1.5, Scheme,
and Common Lisp are distinct languages in the "Lisp Family" in the
same sense that Algol-60, Pascal, and Ada are distinct languages in
the "Algol Family."  X3J13 has as little claim to jurisdiction over
Scheme as the Ada standardizers had over Pascal, Modula, or even PL/1.

Surely the genesis of Scheme and its subsequent evolution at MIT,
Indiana, Yale and elsewhere is as divergent and original within its
cultural context as the origins of Pascal and other "Algol-like"
languages are within theirs.

As a TI representative to X3J13, I'm acutely aware that my obligation
to promote TI's interests may occasionally conflict with my personal
opinions.  I've never faced a conflict between the best interests of
Common Lisp and Scheme simply because the sense of X3J13 so far has
been that it is standardizing only Common Lisp, not other Lisp-like
languages.  I think this attitude is widely and strongly held.  It
would be a mistake to change it.

Whether X3's standardization process is less democratic than the
IEEE's is moot.  X3J13 is totally inappropriate for standardizing
Scheme, and, if X3 were to decide that Scheme is covered by the Common
Lisp umbrella, then X3 would be inappropriate.

The remaining proposals are to continue standardizing informally or to
act through IEEE.  My sentiments are to keep things informal.
Certainly Will is correct when he says "the definition of Scheme is
already cleaner than the definition of Common Lisp will be when X3J13
finishes with it."  Despite sentiment, I'm now inclined to move
quickly to standardize a slightly cleaned up R3RS through IEEE
auspices if that will help bring Scheme out from under the shadow of
Common Lisp (and X3J13).