|  |  5.2.12 load 
Syntax:load(string_expression);
 load(string_expression,string_expression);Type:none
Purpose:reads a library of procedures from a file. In contrast to the command
LIB(see note below),
the commandloaddoes not add the procedures of the
library to the packageTop, but only to the package corresponding
to the library. If the given filename does
not start with . or /, the following directories are
searched for it (in the given order): the current directory, the
directories given in the environment variableSINGULARPATH, some
default directories relative to the location of the SINGULAR
executable program, and finally some default absolute directories.
You can view the search path which SINGULAR uses to locate its
libraries, by starting up SINGULAR with the option-v,
or by issuing the commandsystem("with");.
The second string selections options for loading.
 
Note: load(<string_expr>,"with")is equivalent toLIB <string_expr>.Note: load(<string_expr>,"try")is equivalent toLIB <string_expr>which never fails - test the package name to distinguish. 
All loaded libraries are displayed by the listvar(package);command: |  |   option(loadLib);   // show loading of libraries;
                     // standard.lib is loaded
  listvar(package);
==> // Singmathic                     [0]  package Singmathic (C,singmathic.s\
   o)
==> // Standard                       [0]  package Standard (S,standard.lib)
==> // Top                            [0]  package Top (T)
                     // the names of the procedures of inout.lib
  load("inout.lib"); // are now known to Singular
==> // ** loaded inout.lib (4.1.2.0,Feb_2019)
  listvar(package);
==> // Inout                          [0]  package Inout (S,inout.lib)
==> // Singmathic                     [0]  package Singmathic (C,singmathic.s\
   o)
==> // Standard                       [0]  package Standard (S,standard.lib)
==> // Top                            [0]  package Top (T)
  load("blabla.lib","try");
  listvar(package);
==> // Inout                          [0]  package Inout (S,inout.lib)
==> // Singmathic                     [0]  package Singmathic (C,singmathic.s\
   o)
==> // Standard                       [0]  package Standard (S,standard.lib)
==> // Top                            [0]  package Top (T)
  option(noloadLib);   // do not show loading of libraries;
  load("matrix.lib","try");
  listvar(package);
==> // Elim                           [0]  package Elim (S,elim.lib)
==> // Triang                         [0]  package Triang (S,triang.lib)
==> // Absfact                        [0]  package Absfact (S,absfact.lib)
==> // Tasks                          [0]  package Tasks (S,tasks.lib)
==> // Parallel                       [0]  package Parallel (S,parallel.lib)
==> // Resources                      [0]  package Resources (S,resources.lib\
   )
==> // Modular                        [0]  package Modular (S,modular.lib)
==> // Modfinduni                     [0]  package Modfinduni (S,modfinduni.l\
   ib)
==> // Primdec                        [0]  package Primdec (S,primdec.lib)
==> // Ring                           [0]  package Ring (S,ring.lib)
==> // Random                         [0]  package Random (S,random.lib)
==> // General                        [0]  package General (S,general.lib)
==> // Polylib                        [0]  package Polylib (S,polylib.lib)
==> // Nctools                        [0]  package Nctools (S,nctools.lib)
==> // Matrix                         [0]  package Matrix (S,matrix.lib)
==> // Inout                          [0]  package Inout (S,inout.lib)
==> // Singmathic                     [0]  package Singmathic (C,singmathic.s\
   o)
==> // Standard                       [0]  package Standard (S,standard.lib)
==> // Top                            [0]  package Top (T)
 | 
 
Each time a library ( Libraries) / dynamic module ( Dynamic loading) is loaded, the corresponding package is created, if it does
not already exist.
 
The name of a package corresponding to a SINGULAR library is
derived from the name of the library file. The first letter is
capitalized and everything to right of the left-most dot is
dropped.
For a dynamic module the packagename is hard-coded in the binary file.
 
Only the names of the procedures in the library are loaded, the body of
the procedures is read during the first call of this procedure. This minimizes
memory consumption by unused procedures. When SINGULAR is started
with the -qor--quietoption, no message about the
loading of a library is displayed. 
 See
 Command line options;
 Dynamic modules;
 LIB;
 Procedures and libraries;
 SINGULAR libraries;
 exportto;
 importfrom;
 package;
 proc;
 standard_lib;
 string;
 system.|  |   option(loadLib); // show loading of libraries; standard.lib is loaded
                   // the names of the procedures of inout.lib
  load("inout.lib"); // are now known to Singular
==> // ** loaded inout.lib (4.1.2.0,Feb_2019)
  listvar();
 | 
 |