Arrays can now be restricted to certain element types. This allows for more compact storage of arrays of specialized types. The standard element types supported are
In addition, the following nonstandard types are supported for communicating with C programs:
Other types are considered equivalent to t.
The array-element-type function returns the element type of an array, The :element-type keyword can be used with make-array to construct an array of the specified type.
The support for typed vectors is not yet complete. It is more or less complete for the basic XLISP system, but has not yet been completely integrated in the statistical code. Eventually the linear algebra routines and the foreign function interface will be changed to rely on these routines in order to minimize conversion to and from C data. The details of the supported types may need to be changed as this evolves.
The functions row-major-aref and svref have been added.
At present, vectors with fill pointers and adjustable arrays are not supported. One or both may be added.