* Run without installing:

    % ./build.py # builds clive to dist/ subdir
    % ./run.py # runs clive from dist/ subdir

    For example:
    % ./run.py < tests/all.lst -nC

    % make clean|distclean # both remove the dist/ subdir


* Caching module imports

    This depends entirely on the imported module.

    In theory caching the imported modules can reduce import statement
    overhead. For example if a module gets imported multiple times
    throughout the lifetime of a process, it makes sense to import it
    only once and then reuse the same module instance everywhere.

    clive.modules.Modules (src/clive/modules.py) is a singleton
    class designed for this purpose.

    Arguebly, in some cases, this can do the opposite. Think of caching
    an import unnecessarily if a certain x feature that uses the module
    is not going to be used at all.

    See src/clive/modules.py for examples.
