GNU Octave
3. Data Types
All versions of Octave include a number of built-in data types,
including real and complex scalars and matrices, character strings, and
a data structure type.
It is also possible to define new specialized data types by writing a
small amount of C++ code. On some systems, new data types can be loaded
dynamically while Octave is running, so it is not necessary to recompile
all of Octave just to add a new type. See section 11.8 Dynamically Linked Functions for more information about Octave's dynamic linking
capabilities. 3.2 User-defined Data Types describes what you must do
to define a new data type for Octave.