[r6rs-discuss] [Formal] (r6rs base) must also export _ and ... at level 1

Abdulaziz Ghuloum aghuloum at cs.indiana.edu
Thu Jan 25 09:29:53 EST 2007

On Jan 25, 2007, at 7:46 AM, AndrevanTonder wrote:
> My assumption was that ... and _ are bound in (r6rs base).

I see it in neither draft of the report that any of these is bound.

> If they are
> bound, exporting them is necessary for writing most useful macros.

They are not.  But even if they were, I don't see them "necessary" for
"most" useful macros.

> It did not even occur to me originally that an implementor might leave
> them unbound, thereby preventing users from being able to do various
> useful things to them.

As far as my understanding of the current draft goes, an implementor
does not have a luxury of adding extra stuff to the (r6rs base) library.
As a matter of fact, I would expect the following behavior:

(library OK (export) (import (prefix (r6rs base) r6rs:))
   (r6rs:case 12
     [else 13]))

(library NOT (export) (import (prefix (r6rs base) r6rs:))
   (r6rs:case 12
     [r6rs:else 13]))  => &syntax violation

> Example of useful things:
> ...

Both examples are useful, yes.  But leaving ... and => undefined does
not prevent the user from writing them.  The cond example, in  
is a trivial exercise.


More information about the r6rs-discuss mailing list