Mark H Weaver <m...@netris.org> writes: > `load' is optional in the R5RS, and it has been removed entirely from > the R6RS, which was designed with compilers in mind. Guile allows the > use of `load', but its compiler assumes that undeclared identifiers are > top-level _variables_, not syntax. This seems a reasonable compromise.
While I more than agree with the compromise, perhaps a note could be added to the documentation given 'load' has a different behaviour at the REPL and in modules. In a module, we expect the above; at the REPL, we want the syntax-definitions available. Perhaps something like "Since 'load' happens at run-time, syntax definitions will have no effect on existing procedures, although they will be available at the REPL." -- Ian Price "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled"