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

Reply via email to