I've been quite impressed with the process the Scheme community is going through to derive a new standard. It seems like a slow, but steady approach to reaching a sane and improved next version of the language.
Here are some aspects of the process that I like...
- They publish their drafts publicly. Their's obviously a balance between letting a core group of community members work on coming up with the next standard, and keep the community informed.
- They are publishing reference implementations of their work. That way, you don't just get to read about a new feature, but you can also play with it. How cool is that?
- They are responding to formal comments. Formal comments are a neat idea - basically, anyone can submit a comment on the work published by the committee. The comment needs to follow a fairly specific format. Now, here's the cool part - the committee must respond to every comment posted. This means that the committee has at least considered every topic raised by the community. Everyone who wants to be heard, can be.
- Anyone can vote on the new standard, after you have registered. The tricky part of the registration process is that you need to write a 150 word essay expressing your statement of interest in Scheme. Again, everyone who takes a few minutes to get involved in the process can have a say in its outcome.
Even if you don't have an interest in the next generation of the Scheme standard, the process still seems like something worth glancing over. It seems to be a fair way to allow a wide group of people to steer a topic that you desperately don't want designed by a wide group of people.
For the heck of it, here's my statement of interest. I felt like I was writing a college application essay. Hope I get in.
((email-address "Wouldn't you like to know") (full-name "Ben Simon") (geographic-location "Arlington, VA, USA") (public-email-address "email@example.com") (web-page-url "http://benjisimon.blogspot.com/") (statement-of-interest "My interest in Scheme is quite practical: I have found it to be a language that I can write efficient, maintainable and beautiful programs in. And I have done so, in a production and commercial environment. Most recently, I developed Tenspotting (http://tenspotting.com), a Web 2.0 application written in Scheme using the SISC implementation and the SISCweb library. I am absolutely sure that I had linguistic advantages by using Scheme rather than Java, PHP or other available options. Previously, I have used Scheme as a scripting language for front end of a Java web application. By using Scheme myself and my team were able to quickly add functionality to the application that would have otherwise required significant Java development. By making use of Scheme we were also able to leverage a network based REPL, which allowed us to interactively update the application on the fly. Along with on-the-job uses of Scheme, I have also benefited immensely from the lessons I have learned while studying Scheme related material. Topics such as what makes a well defined abstraction, OO, threading, distributed systems, lexical vs. dynamic scoping, are all general purpose topics that were made much clearer through studying them in a concrete Scheme environment. I look forward to using Scheme in additional projects, and I am quite appreciative to have even the smallest impact on its growth and improvement."))