On Fri, 15 Jun 2007, AndrevanTonder wrote:

> But maybe this is how the composite library should in fact be defined.  For
> example, it makes little sense to export both let-syntax and syntax-rules
> at level 0 (as currently specified), since the level-0 instance of 
> syntax-rules
> can never be used if we only do (import (rnrs)).
>
> Even worse for the stated convenience rationale for the existence of (rnrs)
> is the fact that LET-SYNTAX is available at level 1, yet the usefulness of the
> level 1 LET-SYNTAX is severely curtailed by the unavailability of SYNTAX-RULES
> at level 2.

Sorry for responding to myself, but it has occurred to me that another solution 
for (rnrs) may be as follows:

   Export only at level 0: DEFINE-SYNTAX, LET-SYNTAX, LETREC-SYNTAX.
   Export only at level 1: SYNTAX-RULES, IDENTIFIER-SYNTAX, _, ...,
                           and all the bindings in the SYNTAX-CASE library.
   Export everything else at levels 0 and 1.

The rationale is that the level 0 bindings above are useless at level 1, and 
the level 1 bindings are useless at level 0 (without further imports).

Andre

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to