atomsLoad Load one or several external modules

## Syntax

                result = atomsLoad(name)
                result = atomsLoad(name, version)

## Arguments

name

  Matrix of strings: External module name

version

  Matrix of strings: External module version. This is an optional parameter. If it's not defined, the most recent version of the module is used.

result

  4xn character string matrix:

  1st Col. | Technical name |
  2nd Col. | Version |
  3rd Col. | Installation section | this parameter determines whether the module has been installed for all users or only for the current user.
  4th Col. | Installation path |

## Description

`atomsLoad` load one or more external modules.

## Examples

    // Get the list of installed BUT unloaded external modules:
    p = setdiff(atomsGetInstalled(), atomsGetLoaded());

    if p~=[] then
        // There is at least one installed BUT unloaded module
        // Let's load it
        atomsLoad(p(1))
        // Now, you may have a look to its help pages (in a fresh help browser session),
        // use its functions, use its demos (if any), etc.

    else
        // There is no installed external module, or they are all already loaded.
        // Let's install a new module, and then load it in the session:

        // Get the list of available modules names
        load(SCI+"/modules/atoms/macros/atoms_internals/lib");
        P = atomsDESCRIPTIONget();
        clear atomsinternalslib
        available = fieldnames(P);

        notInstalled = setdiff(available, atomsGetInstalled()(:,1));
        module = notInstalled(1)
        versions = fieldnames(P(module))

        // Install the module: This requires an INTERNET CONNEXION
        atomsInstall([module, versions(1)])

        // Installing a module does not load it in the session:
        atomsIsLoaded(module)   // %F

        // Let's load it
        atomsLoad(module)       //
        atomsIsLoaded(module)   // %T

        // Now, you may have a look to its help pages (in a fresh help browser session),
        // use its functions, use its demos (if any), etc.

        // Now, uninstall it (cleaning):
        atomsRemove(module)
    end

## See also

- atomsIsLoaded
- atomsGetLoaded
- atomsInstall