|
|
3.8.11 Loading a library
Libraries can be loaded with the LIB or the load command
(see LIB and see load).
Syntax:
LIB string_expression ;
load string_expression ;
Type:
- none
Purpose:
- Reads a library from a file. If the given filename does not start with
. or / and if the file cannot be located in the current
directory, the
SearchPath is checked for a directory containing
a file with this name.
Note on SearchPath:
- The
SearchPath for a library is constructed at SINGULAR
start-up time as follows:
-
the directories contained in the environment variable
SINGULARPATH are appended.
-
the directories
$BinDir/LIB, $RootDir/LIB,
$RootDir/../LIB, $DefaultDir/LIB, $DefaultDir/../LIB
are appended, where
$BinDir
is the value of the environment variable
SINGULAR_BIN_DIR, if set, or, if not set, the directory in which the
SINGULAR program
resides
$RootDir
is the value of the environment variable
SINGULAR_ROOT_DIR, if set, or, if not set, $BinDir/../.
$DefaultDir
is the value of the environment variable
SINGULAR_DEFAULT_DIR, if set, or /usr/local.
-
all directories which do not exist are removed from the
SearchPath.
For setting environment variables, see system, or consult the manual of
your shell.
The library SearchPath can be examined by starting up
SINGULAR with the option -v, or by issuing the command
system("--version");.
Note on standard.lib:
- Unless SINGULAR is started with the
--no-stdlib option, the
library standard.lib is automatically loaded at start-up time.
Following a LIB or load command, only the names
of the procedures in the library are loaded. The body of a particular
procedure is only read upon the first call of the procedure. This
minimizes memory consumption by unused procedures. Starting
a SINGULAR session with the -q or --quiet
option unsets the option loadLib and
inhibits, thus, the monitoring of library loading (see option).
All libraries loaded in a SINGULAR session are displayed upon
entering listvar(package); :
| | option(loadLib); // show loading of libraries;
// standard.lib is loaded
listvar(package);
==> // Standard [0] package Standard (S,standard.lib)
==> // Top [0] package Top (T)
// the names of the procedures of inout.lib
LIB "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)
==> // Standard [0] package Standard (S,standard.lib)
==> // Top [0] package Top (T)
|
See
Command line options;
LIB;
Procedures and libraries;
SINGULAR libraries;
proc;
standard_lib;
string;
system.
|