| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
You can specify either a string file name or a symbol module name
to file/module. If it is a string, the named file is
loaded. If it is a symbol, the named module is loaded (using the
same rule as of use), then the binding of item in the
file/module is imported to the module used the autoload
(See section 4.11.2 Defining and selecting modules, for details of use).
Item can be either a variable name (symbol),
or a form (:macro symbol). If it is a variable,
the named file/module is loaded when the variable is
about to be evaluated. If it is the latter form,
the named file/module is loaded when a form
(symbol arg ...) is about to be compiled,
which enables autoloading macros.
file/module must define symbol in it, or an error is signalled when file/module is autoloaded.
The following is an example of autoloading procedures.
(autoload "foo" foo0 foo1)
(autoload "bar" bar0 bar1)
(define (foobar x)
(if (list? x)
(map bar0 x)
(foo0)))
(foobar '(1 2)) ; "bar" is loaded at this moment
(foobar #f) ; "foo" is loaded at this moment
|
Note that if you set to autoload macro, the file/module is loaded immediately when such form that uses the macro is compiled, regardless of the piece of the code is executed or not.