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

Let a thousand flowers bloom...



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.