Steele gave a good definition of "meta" in his famous ACM talk/paper
"Growing a Language". My (maybe close) paraphrase: "meta" is stepping
back -- to objectify what we were or some part of what we were. What
we were simply doing now becomes an object of thought and what we now do
involves thinking about our former doing. Formerly, we were thinking
about X. When we go "meta,", now we can think about thinking about X.
I propose to step back from the R6RS process, and think about what's
going on here.
One fact on the ground is that, with a lot of hard work and no shortage
of debate, the editors have assembled quite a bit of huge value. We
didn't use to have a document (even if only a "draft") specifying a
module system that so many people could find some value in. We didn't
use to have a clean document (even if only a "draft") specifying at
least one workable way to do "provide Unicode support in Scheme".
So, I would venture to suggest that we think about maximizing the
utility of that work done so far (even if only a "draft"). That's
hard, good work that's now "in the bank" and it would be a shame to
squander it. To my mind, perhaps we ought to hedge a bit -- do some
work, as a community, to make sure the value of that banked work is
preserved, no matter what the heck happens with R6 ratification.
Another fact on the ground is that quite a few people are at least
skeptical of the R6RS draft. Not a few simply don't like it.
So, I would venture to suggest that ratification at this time (or in the
near future) would be a mistake.
Another fact on the ground is that the R6RS process is a deliberately
designed political process. People made up rules. They posted the
rules in public places, tentatively, to solicit feedback. Receiving
mostly positive feedback, they began their part in enacting the rules.
So, I would venture to suggest that as we step back, and contemplate
both all the good work and all the dissent, we wonder whether or not it
is the design of the political system that has led to an outcome in
which ratification looks like a questionable idea.
-----------------------------------------------------------------
That is a good place to stop --- just raising those questions --- but
I'm going to risk going a bit further. I'm going to give my own
thoughts about how to do this.
Thinking about the political systems, I am struck by a contrast between
the SRFI process and the R6RS process.
All things are relative. Both the SRFI and R6RS processes create class
distinctions, but SRFI's are far less substantial than R6RS'. Anyone
can publish a SRFI, if they follow a few basic rules. Only a small
number of particular people, and their "heirs", can publish an R^nRS
version. SRFI titles are far closer to being "non-rival" goods --
anyone can publish a SRFI -- but on the other hand, the R^nRS sequence
of titles is a game of "king of the hill".
Why should the members of the steering committee be "The Steering
Committee"? Well, because they are famous, and have done good work,
consistently, for a long time. Similarly the editors. These groups
have name recognition, and the ability to broadcast their nomination of
heirs -- and they have those powers for legitimate reasons (because,
yeah, frankly, we *are* all grateful to them for what they've done).
Well, isn't that quite enough?
That is to say, if that same group of people, for whatever reasons they
like, happened to publish a SRFI -- not an R^nRS document -- containing
a revision of R5RS (or a revision of an earlier SRFI that revised R5RS,
or a .....) .... if the same group of people published as a SRFI, would
their document have a reduced impact on the world?
On the contrary -- it would have an enhanced impact on the world. If
they published as a SRFI, rather than R6, in addition to putting
incredibly valuable documents out there in useful, referable format --
they would create something new. They would newly make it possible for
competition to arise. And not just competition, but reconceptualization
of the very *role* of a language standard --- people could post
alternative Scheme's not to defeat the R6-as-SRFI document, but to stand
along-side it as an alternative environment such that a single
implementation might coherently support both.
I previously made two alternative proposals:
1) boycott the vote
2) promote an r6 with fexprs and read tables and first class
environments instead
Ok, here's a third, and i think it's the best so far:
3) now that we've gone meta
a) R5RS is the last in the series, ever. (let's vote on *that*)
b) please, editors, dot your i's and cross your t's and publish
as a SRFI (Will Clinger, please come back if this is to happen.)
c) please, steering committee, publish an (unusual) srfi simply
expressing your thoughts-of-record on the "not-R6-but..."
SRFI that the editors publish.
d) community: please get the gist and start hacking the SRFI
political process, ideally by writing code for neat ways to
organize it
"grow a language,"
-t
Received on Thu Jun 07 2007 - 17:57:47 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC