jducoeur: (Default)
[personal profile] jducoeur
Thanks to LtU for the pointer to this interesting post from the Scheme Steering Committee.

Summary: the Scheme community is starting to realize that you can't really have it both ways -- a truly focused teaching language isn't going to have the bells and whistles demanded by real-world programming, and a "real" programming language is going to be full of fat that just gets in the way of research and teaching. So they're trying to move in the direction of splitting Scheme into two compatible dialects, a "small" language oriented towards the research and teaching side, and a "large" language that is intended for practical day-to-day programming. A specific agenda here is to incorporate enough into the "large" language that people stop needing to use enhanced dialects whenever they want to actually *use* Scheme for development.

Overall, sounds sensible to me. I don't know whether they'll be able to get enough community support and momentum to pull this off (and to head off the inevitable friction and religious wars), but it's a very practical approach to resolving the tensions within the community...

(no subject)

Date: 2009-08-24 06:33 pm (UTC)
From: [identity profile] hudebnik.livejournal.com
I've read some discussion of this position statement on the PLT-Scheme e-list. One assumes (though it's not explicit in the position statement) that the "small" language is supposed to be a subset of the "large" language.

One of the great things about having a macro system is that you can write extensions with different syntax. In at least some implementations, you can even redefine the reader to parse, say, C syntax rather than Scheme s-expressions. So why not just put all the "large language" stuff into optional libraries? The "core" language would need to standardize the basic stuff that all reasonable Schemes agree on anyway, plus enough about modules and macros to write and invoke those libraries in a portable way. Presumably the most popular of these optional libraries would come to be bundled with all the common implementations, so they would be a de facto standardized programming base.

We would still have to negotiate a common ground among the various module system, and among the various macro systems, but that seems more manageable than trying to standardize everything that any professional programmer anywhere might want in the language. And conceptually simpler than having a "small" language standard and a "big" language standard.

But I'm not a Scheme-language mucky-muck; this approach is so obvious that the committee must have thought of it and rejected it for some reason.

(no subject)

Date: 2009-08-24 08:07 pm (UTC)
laurion: (Default)
From: [personal profile] laurion
Makes sense. Similar to the difference between Minix and Linux principles. Or C (as taught, not as is. Is C still taught?) and any modern variation of C. I can recall a time when someone made the argument that Scheme was for teaching and Lisp was for programming. Meh, it's all Smalltalk to me. (kidding!)

Profile

jducoeur: (Default)
jducoeur

June 2025

S M T W T F S
12 34567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags