The bottom line is that you can think of the R6RS as an attempt to move Scheme into the mainstream. Scheme has been, throughout its existence, a minimalist language. This has been both its strength and its weakness. Its strength in that, because there is a great deal of latitude in the standard, many people can apply many different ideas to Scheme and, yet, there it is still Scheme. However, this creativity has caused a great many of versions to be created that are largely incompatible with one another in those extensions that make the language pragmatically useful. The SRFIs help, but it doesn't get things all the way there. For example, take the issue of OpenGL bindings in Chicken vs. Guile. They use a different naming scheme for bindings to the same library (this isn't a slam, just an example; I love Chicken and I have a mostly-finished OpenGL app written in it).
R6RS tries to take a lot of the latitude out of those pragmatic areas. For those things that you will need to do regardless of implementation (SRFI 1 style list manipulation, character operations, etc.) the standard tries to set well, a standard, so that any compliant implementation will implement the same semantics, making programs more portable. Also in this direction is adding a library/module facility to the language (something that a lot of people have wanted for some time) and I18N'ing the language, to some small degree, by requiring true Unicode support. That said, I find some of the parts of the specification almost Draconian in nature, detracting from Scheme's mission as a lightweight flexible language. In this respect, IMHO, things have improved between the 5.91 draft and the 5.92 draft and we'll see how things go between 5.92 and 5.93. Anyway, here is a fairly decent "highlight reel": - Ubiquitous Unicode support - Standardization of an API for lists (richer), sorting, records, I/O, filesystems, arithmetic, and syntax-case - Exceptions - Bytevectors (which I like) - Library/module system - Reduced leeway on some semantic issues (this one may not belong here anymore) Whether you like it or not is another matter, but this, I think, sums it up pretty well. Michael McDermott On 5/18/07, Stephen Ramsay <[EMAIL PROTECTED]> wrote:
On Fri, May 18, 2007 at 04:16:11PM -0400, Graham Fawcett wrote: > It's a slow Friday afternoon, so let me pose a provocative, > non-technical question: What does the impending ratification of the > R6RS standard mean for Chicken, and for you? I'd love it if someone could point me to some kind of bottom-line overview of the new standard (what's new, what's being discarded, etc.) I've hunted around for such a thing and browsed through the spec itself, and while I see lots of detailed discussion about it, I haven't really been able to find a highlight reel for the new standard. I've also heard that Felix isn't crazy about it, but I haven't been able to find his formal pronouncements on the matter. I'm still fairly new to Scheme, so I'm not about to jump into the fray. I'd just like a sense of what's going on. Steve -- Stephen Ramsay Assistant Professor Department of English University of Nebraska at Lincoln PGP Public Key ID: 0xA38D7B11 http://lenz.unl.edu/ _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
_______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
