27 August 2009

A tale of two Schemes

The Scheme Steering Committee is going to try splitting Scheme into two languages. See their position statement.

The “split” language seems a little off, but the plan seems sound. The “large” language will be a superset of the “small” one, so it’s not like it is a complete fork.

I really have a hard time understanding the controversy. I suppose I’m in the target group of the “large” language, but I want to use a language that meets the expectations of the target group of the “small” language. I don’t see any reason why a single language and a single standard can’t serve both groups.

But it does make sense to separate the various concerns. There is no need to try to fit the core language and the standard libraries into a single effort. Building and ratifying them should be separate processes. In fact, I’d go farther and say that there shouldn’t be a single, monolithic set of standard libraries.

Which begins to look an awful like like R5RS + the SRFIs, huh? At least, if you squint a bit. There was certainly need for improvement, but R6RS seemed to have run off the rails a bit. I mean, it isn’t so bad, but it isn’t really what was needed.

Anyway, it’ll be interesting to see where things go from here. It looks like for the foreseeable future I’ll still be programming in PLT Scheme or Guile more than in any standard Scheme. (Not that I get time to do it much.)

No comments: