The original motivation for Aldor was to provide an improved extension language for the AXIOM computer algebra system: The language had to be expressive enough to capture naturally the high-level objects and relationships which arise in modern mathematics. An implementation had to be efficient enough for intense symbolic and numeric computing needs. And the language had to be modular enough to allow large libraries of independently developed facilities to be used together in any combination.
The formulation of the programming language has tried to balance the mathematical desire for generality and uniformity, on one hand, with the practical requirements of the most demanding symbolic and numeric computation, on the other. For example, types and functions are first class values, and dependent types are fully supported, but the precise formulation of has been carefully arranged to allow effective optimizaiton. Post facto extensions allow libraries to be built in layers by enriching existing objects, rather than introducing a proliferation of variations. Both object-oriented and functional programming styles are reconstructed naturally form these basic semantic elements.
The Aldor compiler can be used to generate code which runs within the Axiom system, separately, or linked into other applications.
The compiler has been available as part of the Axiom system since late 1994, and is now released as an independent language.
During its development at IBM Research, this programming language
was known internally as ``A#'' (A sharp).
The interim name ``AXIOM-XL''
(Axiom Library Compiler) was used for a short period by NAG
before the legal trade name ``Aldor'' was established.