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 |