PLT Scheme 4.0 to introduce major new changes to Scheme
blog.plt-scheme.org
blog.plt-scheme.org
In the abstract, sounds like a Scheme that can compete with Python and Ruby.
Quick summary:
A stranger walks into a village, puts a pot on a fire, fills it with water and, in full view of the villagers, drops in a single stone. Curious, the villagers ask what he's up to.
"Making stone soup."
"You can make soup from a stone?"
"Yes, it's very good. However, it's even better with a little bit of..."
You see how this is going to go. One by one, the villagers bring some little thing or other to add to the stone soup, and in the end they all enjoy some, shocked at how good a soup made from a stone can taste.
The relevance: The whole point of Scheme is to be a minimalist programming language. However, then someone says, "Yes, I love this minimal programming language. Very elegant. However, if you just had support for hash tables..."
After several iterations of this, you have users of this programming language saying "Amazing how much you can do with this minimalist programming language..."
Most Scheme implementations have always had functionality well beyond the standard, and many Scheme users don't see a contradiction in having a minimalistic language standard[1] and rich implementations.
[1] I'm talking about R5RS here, but the story doesn't apply to R6RS either. That was never intended to be a small incremental step, as your fable suggests.
P.S.: BTW, I think the metaphor you meant was the boiled frog, rather than stone soup.
It's SICP that amazes people at what can be done with a minimalist programming language.
People who use a Scheme implementation with lots of additions have no illusions of minimalism.
http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-le...
amazing stuff, recommend everyone to watch.
Scheme as a spec is a simple, minimalist language. Scheme as an implementation need not be this. Very few people can fit their problem into pure, unaugmented r5rs scheme. Even if they can, it may mean writing a lot more code than other languages.
I, for one, am excited to see the scheme community embrace a pragmatic goal as opposed to a purist one. Just because they support some reasonable things like FFI and keyword arguments from the get-go doesn't mean that they're suddenly common lisp with a loop sublanguage and iteration in their printfs.