[r6rs-discuss] an essay on language design

John Tobey john.tobey at gmail.com
Wed Jul 25 09:06:01 EDT 2007


A comment or two from the peanut gallery...

On 7/24/07, Thomas Lord <lord at emf.net> wrote:
>
> I've reconciled myself to R6 partly by thinking it's useful, partly that
> it's an accurate report on where folks are at -- but also partly because
> it seems like a challenge problem:  "simplify *this*, if you can" it seems
> to beg for.
>
> If you know what I mean.


There is enough to like about the draft that I will happily import (rnrs (5
97)) even if you all take you marbles and go home tomorrow.  The library
system, Unicode, bytevectors, i/o, etc., well done folks!!!

Records.  Hohum!  I guess as a "report" (rnRs) it ought to include something
like this, but I've never taken to the style of

   make-type type? type-field type-field-set!

Scheme already has an encapsulation mechanism: closures!  It should be
"(<type> 'make) ((obj 'is-a?) <type>) (obj 'field)" and either "(set! (obj
'field) value)" or "((obj 'set!) 'field value)" according to your tastes.

Which do you prefer:

(port-has-port-position? x) and the (rnrs io ports (6)) export list, or

((x 'has?) 'position) and <port>?

There!  How's that for simple?  The only trick is to get a compiler smart
enough to make something like C++ virtual tables out of it.

Crawling back under my rock...

-John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.r6rs.org/pipermail/r6rs-discuss/attachments/20070725/9b5d3db5/attachment.htm 


More information about the r6rs-discuss mailing list