[r6rs-discuss] (rnrs) composition seems wrong
andre at het.brown.edu
Thu Jun 21 11:39:45 EDT 2007
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).
More information about the r6rs-discuss