Sunday, June 10, 2007

Rock The Vote

No, not that vote, the vote for the new Scheme standard.

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 "")
 (web-page-url "")

"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
(, 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."))

No comments:

Post a Comment