[ERR5RS] Rationale and ease of use
Lynn Winebarger
owinebar at gmail.com
Mon Sep 3 22:03:49 PDT 2007
Hello,
I have cc'ed Andre, as given the activity on the wiki, this list
doesn't make much sense without him.
Disclaimer: I am not an R5RS implementor, nor do I particularly
plan to become an ERR5RS implementor. I do feel like I missed an
opportunity to make a positive contribution to the R6RS process, and
would like to do what I can to be helpful here.
Based on the comments on the wiki, it seems that Will and Andre
have already arrived at a preference for the R6RS library semantics.
I am particularly thinking of the phase semantics of the library
mechanism of R6RS, starting around the message at
http://lists.r6rs.org/pipermail/r6rs-discuss/2006-November/000730.html.
There were a lot of messages in that thread. In the first message,
Andre prefered a single set of bindings for all phases, but then
changed his mind a few messages later. One of the significant points
that came out (for me, anyway) is that some implementors viewed the
different levels as potentially being entirely different languages,
particularly an underlying non-Scheme implementation language.
One of the annoying features of R6RS is how the rationale
appeared to be developed post facto. While I can see an abstract
cleanness in specifying exact metalevel instantiation, it seems like
it would be make programming much more painful in general, in that the
programmer has to know exactly at what levels he/she needs particular
definition. I know I have found an analagous feature of PLT's
syntax-case incredibly annoying (not being able to directly use
variable definitions inside a syntax-case body).
If this is correct, could you (Andre, Will, or both) provide a
single coherent explanation of why the separated binding are the
better semantics? In any case, as a user I would prefer to know that
it was going to be one or the other for certain.
Also, is the goal to make it easy to convert libraries between
ERR5RS and R6RS or to have the same code have the same semantics under
both?
Thanks,
Lynn
More information about the Err5rs
mailing list