[r6rs-discuss] Re: Comment 111: Syntax-rules

From: dyb_at_cs.indiana.edu <dyb>
Date: Fri Dec 22 09:51:56 2006

> > This will be addressed in the
> > next report draft by having the base library export both and only
> > syntax-rules and identifier-syntax, so that if no other bindings are
> > imported "for expand", the only valid transformer-creating expressions
> > will be syntax-rules and identifier-syntax.

Oops. This should have read "both and only syntax-rules and
identifier-syntax "for expand". The base library will export other
things, of course, just not for expand.

> Would it not be more elegant for (r6rs base) to export syntax-rules, and only
> syntax-rules, at level 1 directly, so one could write simply
>
> (import (r6rs base))
>
> to make syntax-rules available at the correct level.

That is the intent, with identifier-syntax as well as syntax-rules exported
for expand, i.e., meta-level 1.

> > ... the only valid transformer-creating expressions
> > will be syntax-rules and identifier-syntax.
>
> I don't think this constraint can be satisfied in an implementation that infers
> phase shifts automatically.

The constraint is a constraint on what programmers can write an hope for
portability and can be satisified in any of the implementation models
we've discussed. I think you mean that the constraint cannot be enforced
by an implementation that infers phase shifts automatically, which is true
in the sense that in such an implementation, the declared levels are
meaningless and all bindings are exported for all levels where needed.

Kent
Received on Fri Dec 22 2006 - 09:51:23 UTC

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