Andre van Tonder scripsit:

> In R6 it is an error for a later macro definition to redefine whether an 
> earlier use is a definition, a BEGIN, a SYNTAX-RULES form, an ellipsis, 
> etc. 

Ah.  Thanks.

> In any case, macro forward-reference is probably the first thing that will 
> have to go if small Scheme is to be REPL-compatible.

Indeed, and this is what worries me about the compatibility between
Thing One and Thing Two.  If Thing One is to have R5RS semantics in
both its REPL and its libraries, and Thing Two is to have the R6RS
semantics of top-level programs and libraries, then Thing One libraries
will be neither upward nor downward compatible with Thing Two libraries.
That is why I have been calling the modules of Thing One "components",
using a new name to express that they are a incompatible concept.

However, if both implement "include" (not currently in any standard),
they can share plain code if it is carefully written to place imports
before definitions before expressions, and always define macros before
using them, and not use import features too advanced for Thing One,
and perhaps other restrictions.

-- 
Dream projects long deferred             John Cowan <[email protected]>
usually bite the wax tadpole.            http://www.ccil.org/~cowan
        --James Lileks

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

Reply via email to