We’ve already seen one way to use other module in the previous
subsection. It was
There’re three aspects in module access:
We’ll see these three in turn.
load loads any file, not only module definitions,
and evaluate each form in it, but
load does NOT import
bindings. For the full doc, see See Load Function.
open clause. If specified modules are not yet loaded
into Rep, then they’re loaded. It also imports exported bindings.
access is available, too. With
exported bindings can be referred to by specifying the module it
;; These three are equivalent (structure-ref mod.foo.bar varX) mod.foo.bar#varX ;; short form of structure-ref (external-structure-ref 'mod.foo.bar 'varX)
access clauses can only be used at
the module definition, but there’re equivalent lisp functions.
open-structures correspond to
(require 'foo.bar) (open-structures '(foo.bar baz)) (access-structures '(foo.bar baz))
All loads modules to Rep if not yet, and import the bindings of
specified modules, in the same way as
The latter two are defined in
If the load fails, an error is signaled.