|
From: Timothy H. <tim...@ma...> - 2003-01-25 16:16:30
|
I've just checked in Derek Upham's module systems for JScheme
(with some minor bug fixes) and bumped the JScheme version
to 6.0.0.
This change should be backward compatible. If you don't use modules
you should notice any difference. If you do notice a difference
please tell us! You can always check out the earlier version of
Jscheme with
cvs -d:pserver:ano...@cv...:/cvsroot/jscheme
login
cvs -z3
-d:pserver:ano...@cv...:/cvsroot/jscheme co -r
v5 jscheme
where the "-r v5" specifies the "v5" rtagged version.
The module system is accessed via two primitives:
(environment-import FILE [PREFIX])
(language-import FILE)
where [PREFIX] is optional.
Both primitives create a new environment containing only the initial
jscheme
environment which is temporarily set to be the interaction environment.
They then load the file in this new environment. The environment
is then locked to prevent any changes to it, and the variables in the
environment
are copied into the previous interaction environment (with or without a
prefix).
Importing is recursive, so imported files can themselves import files.
The environment-import copies in all non-macro values and the
language-import
copies in only the macro-values.
More details are available in doc/modules.html
|