[r6rs-discuss] meta r6rs

Thomas Lord lord at emf.net
Thu Jun 7 17:57:47 EDT 2007


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






More information about the r6rs-discuss mailing list