Note:

) also supports the DLD Gnu package for dynamic loading. DlD is a library package of C functions that performs "dynamic link editing". Since the time to load dynamically a module with this package is rather long, it is preferred to avoid to use it. However, this package is the only way to provide dynamic loading on Linux systems which don't support the ELF format (versions 1.0 to 1.2). Since the ELF format is becoming the new standard for Linux, this package will be no more necessary in the future.

The last version of the DLD package can be found at several places:

We suppose here that we want to include the posix module defined in section[*] into the interpreter.

[Dynamic Loading] If the system running supports dynamic loading (and if the interpreter has been compiled with dynamic loading support), you compile your source file file to make a shared object file. On SunOs 4.1, for instance, this can be done by compiling the module with the pic compilation option (pic stands for position independent code). Once compilation is done, you can pre-load your file with the line
\begin{Code}
\begin{listing}[200]{2}
ld -assert pure-text -o time.so time.o
\end{listing}\end{Code}
This will produce a file name posix.so which can be loaded with the load Scheme primitive procedure. The load primitive recognizes that this file is a shared object and calls a function whose name the concatenation of the string STk_init_ and the base name of file loaded. Thus, loading the file posix.so impies the call of a pimitive whose name is STk_init_posix.

Look at Src/Extensions directory to see some examples of shared object construction.