Objects in SYMMETRICA
Symmetrica was written in the programming language C. The design of
the routines was in a object oriented way.
In Symmetrica there is only one type of object. One component of the object is a tag identifying the specific kind of object. Using this tag the (meta-) routines (e.g. mult) switch to the specific routine (e.g. mult_permutation).
The advantage of this method is that we only have one routine for different kind of objects. So is the routine for the inversion of a matrix independent of the objects inside the matrix. We only need a routine to invert the entries.
But we have a overhead in the object to store the tag, and a overhead in runtime to switch to the specific routine. This method is simliar to virtual classes in C++.
Now a complete listing of available types of objects.
symmetrica (at) symmetrica.de