[r6rs-discuss] (rnrs) composition seems wrong

From: AndrevanTonder <andre>
Date: Thu, 21 Jun 2007 11:39:45 -0400 (EDT)

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
Received on Thu Jun 21 2007 - 11:39:45 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC