guile-devel
[Top][All Lists]
Advanced

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

the rhetoric of "standard" Re: why standard scheme matters to me


From: Tom Lord
Subject: the rhetoric of "standard" Re: why standard scheme matters to me
Date: Mon, 8 Oct 2001 16:32:51 -0700 (PDT)

We've been using the word "standard" with two different meanings.
This has led to some confused and misleading messages (including some
of mine -- sorry).

One meaning is "ordinary", as in "just use the standard command line
options for help and version information -- these are documented in
the GNU coding conventions."  

Another meaning is "official", as in "your program assumes that `int' 
is a 32 bit type, which is not sanctioned by the standard."

In the rest of this message, I'm going to use the word standard with
just one meaning: "standard" (official).

There is no Scheme standard.  There is nothing that may reasonably be
called a Scheme standard.  (To the best of my knowledge, the former
IEEE standard for Scheme has expired -- not even the R5RS authors
mustered the effort to renew it.)

Calling R5RS "standard (official) Scheme" propagates a harmful rumor.
Comparing it to ANSI C reinforces that rumor, and the harm it does.
A C standard must pass a thoughtful review of many people, who view it
from many perspectives, anticipating both the common and obscure ways
in which C will be used.  A vast amount of experience with C gives
that review a good chance of producing a reasonable outcome.

R5RS only had to pass the review of a small, self-appointed committee
-- whose perspectives did not represent those of all implementors, and
did not represent those with an interest in closely related
technology, such as Common Lisp, or even, dare I say it, Emacs.
We are still very early (practically speaking) in the life of the
Scheme programming language -- and it is not even clear that enough
experience has been accumulated to make a good, final decision on
controversial points such as ()/#f, dynamic wind, multiple values,
first-class environments, eval, and macros.

The Guile crew might decide just to avoid thinking about any of those
hard issues.  They might not care how the outcome on those issues
effects the usefulness of Guile.  Like a lot of other recent
implementors, they might buy into the rumor that R5RS is "standard
Scheme", that there was something reasonably authoritative about the
authors committee -- they might say "We'll just have whatever those
guys were having.  That's good enough for us."

Or -- the Guile crew might decide to make carefully considered,
practical decisions about the dialect of Scheme they build.  They
might choose to consider how Guile will interact with Emacs and other
GNU software.  They might choose to consider how Guile will interact
with Common Lisp.  They might choose to consider what kinds of
programming conveniences they provide, vs. what kinds of
pseudo-theoretical "cleanliness" they require.  They might worry about
how to run libraries intended to be implementation-independent, such
as slib and some of the SRFIs.  If they go this root, the Guile crew
will help to accumulate a lot of experience that may one day
contribute to what a Scheme standard really should say.  And, they'll
stand a good chance of making better software.

-t



reply via email to

[Prev in Thread] Current Thread [Next in Thread]