On Tue, 24 Feb 2009, Sam TH wrote:
> I agree that the semantics is not set in stone, and I also hope that
> the problems of specifying how to import libraries not defined in the
> R6RS is addressed. However, every implementation of the R6RS has
> provided a way of importing libraries that are not defined by the
> R6RS, so we know that this is feasible. To my knowledge, no
> implementation [1] of the R6RS has provided a REPL for interacting
> with R6RS libraries or programs that handles the `define-inline'
> example in the similar way to how it is handled by an R6RS top-level
> program.
The ERR5RS suggestion is to exclude such programs from the set of portable
programs.
"In a portable library [...] no library or top-level macro use precedes its
definition"
http://scheme-punks.cyber-rush.org/wiki/index.php?title=ERR5RS:Libraries
Since portable ERR5RS libraries contain no macro uses preceding their
definitions, the meaning of a portable ERR5RS library remains the same under
the R6RS expansion semantics. Note that R6RS libraries allow certain macro
uses to precede their definitions. Such R6RS libraries are not valid in
ERR5RS.
(this paragraph should have said "libraries or top-level programs" everywhere).
This restriction is meant to ensure a portable ERR5RS program can be
evaluated in a REPL and will have the same
meaning, at least as far as top-level visibility issues are concerned, when run
in an R5RS REPL and when packaged as an R6RS top-level program.
Andre
_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss