Axiom (computer Algebra System) - Design

Design

In Axiom, all objects have a type. Examples of types are mathematical structures (such as rings, fields, polynomials) as well as data structures from computer science (e.g., lists, trees, hash tables).

A function can take a type as argument, and its return value can also be a type. For example, Fraction is a function, that takes an IntegralDomain as argument, and returns the field of fractions of its argument. As another example, the ring of matrices with rational entries would be constructed as SquareMatrix(4, Fraction Integer). Of course, when working in this domain, 1 is interpreted as the identity matrix and A^-1 would give the inverse of the matrix A, if it exists.

Several operations can have the same name, and the types of both the arguments and the result are used to determine which operation is applied (cf. function overloading).

Axiom comes with an extension language called SPAD. All the mathematical knowledge of Axiom is written in this language. The interpreter accepts roughly the same language. SPAD was further developed under the name A# and later Aldor. The latter can still be used as an alternative extension language. It is, however, distributed under a different license.

Read more about this topic:  Axiom (computer Algebra System)

Famous quotes containing the word design:

    What but design of darkness to appall?—
    If design govern in a thing so small.
    Robert Frost (1874–1963)

    Nowadays the host does not admit you to his hearth, but has got the mason to build one for yourself somewhere in his alley, and hospitality is the art of keeping you at the greatest distance. There is as much secrecy about the cooking as if he had a design to poison you.
    Henry David Thoreau (1817–1862)

    Teaching is the perpetual end and office of all things. Teaching, instruction is the main design that shines through the sky and earth.
    Ralph Waldo Emerson (1803–1882)