[r6rs-discuss] Arctic Repository 1.2 and Portable, Extensible Sockets
Aaron W. Hsu
arcfide at sacrideo.us
Tue Dec 29 03:23:54 EST 2009
On Mon, 28 Dec 2009 11:59:03 -0500, Grant Rettke <grettke at acm.org> wrote:
> On Mon, Dec 28, 2009 at 2:51 AM, Aaron W. Hsu <arcfide at sacrideo.us>
>> It's also a semi-testament to the R6RS, in that
>> many of the libraries that I thought were kind of useless in the R6RS
>> turned out to be quite nice to use in practice.
> Please elaborate.
Basically, the record type system seemed to be overkill and the bytevector
library didn't seem to be all that useful. The I/O system seemed to be
really clumsy, and I didn't think I would have much use for many of the
functions in R6RS. However, I noticed that I used almost all the libraries
in the creation of my sockets library, including bitwise, bytevectors, and
of course the full imperative ports system.
After having used all these functions, I have come to the conclusion that
the bytevectors are quite useful, the I/O system, while serviceable, is
still awkward and overly complex. Overall, it seems like most of the
libraries in R6RS were justified, and while some of the interfaces,
namely, input and output, are clusmy, they seem to work pretty well. There
are improvements to be made, for sure, but the R6RS did enable to me to
write a more portable library.
The record system is the only library on which I have mixed feelings.
After having used it, I like it, and I take full advantage of some of the
hairier things like protocols. On the other hand, some of these things can
be done with a more simple interface. The result, however, isn't quite so
compact, and it's nice to have it in a record form. Were the editors
justified in creating such a complex record system? I'm not sure they
were, but now that we have it, I'm not sure that I am sorry about it.
Aaron W. Hsu
A professor is one who talks in someone else's sleep.
More information about the r6rs-discuss