[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

# D. External Libraries

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.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated on November 8, 2012 using texi2html 1.82.