Let a thousand flowers bloom...

To: rrrs-authors@mc.lcs.mit.edu

Subject: Let a thousand flowers bloom...

From: Alan Bawden <Alan@lcs.mit.edu>

Date: Fri, 23 Feb 1996 02:29:18 -0500

Sender: Alan@lcs.mit.edu

I'd like to propose that the Scheme language as defined by the current standards (R4RS and IEEE) be declared the -final- version of Scheme. I see that yet another what-does-scheme-need-to-make-it-a-real-world-language thread is starting up on the Scheme mailing list and everybody is going to waste their time arguing about whether records are more important than exceptions, or about how utterly bogus the R4RS macro appendix is, or how a C language interface is what Scheme needs (I -refuse- to call it a "foreign function interface"), or about which of a zillion little utilities it needs (my personal favorite is `sort' -- why can't I have `sort'?), or what kind of support for object-oriented programming Scheme should have, or about modules, or about binary I/O, or about window systems, or ... Let people continue to invent languages with lexical closures and first-class continuations. Let them use S-expressions and support bignums. If they want, let them even use the names `lambda', `car', and `cond'. Just don't let them call the result "Scheme". Let the history books say: "Scheme evolved for about 20 years, starting in 1975 and petering out in the early 1990s. It's designers declared that their work was finished and moved on to better things." I suggest declaring the current state of Scheme to be as close to an optimal point in programming language design space as humanly achievable, planting the Scheme flag firmly on that spot, and then everybody marching resolutely away in different directions.