Various functions are callable from virtual code applications by way
of the library
combinator as explained in Library combinator. An expression (shown in silly
syntax) of the form
library('foo','bar') x
applies a function named 'bar'
from a library named 'foo'
to an argument x
.
A brief overview of the libraries and functions can always be had by executing
$ avram --external-libraries
The listing displayed by this command may show some that are not included here if this version of the documentation is not current or your installation has been locally enhanced. It may also lack some that are documented here if your installation is not fully equipped.
Although the overview from the command line is adequate for a reminder, it is not informative enough to explain how each function should be used. The purpose of this section is to provide this information in greater detail.
Some general comments are applicable to all libraries.
Each library documented in this section can generate error messages in the event of exceptional conditions, that are documented individually. In addition to those, it's also possible for any library function to return error messages of
<'unrecognized library'> <'unrecognized xxxx function name'>
where xxxx is the name of a library. These indicate either that
the library name is invalid, or the library name is valid but the
function name is invalid, or that they're both valid but the library
wasn't detected on the host when avram
was compiled. A virtual
code application can always avoid these errors by testing for the
availability of a function using the have
combinator (Have combinator).
In addition, any library function that operates on numerical values or lists thereof can return these messages in cases of invalid input.
<'missing value'> <'invalid value'> <'bad vector specification'> <'bad matrix specification'>
These messages indicate that an input parameter that was required to be a valid representation of a floating point number, a vector, or a matrix was something other than that (Type Conversions). The last could also occur if a parameter that is required to be a square matrix has unequal numbers of rows and columns.