Virtue is a Grid Service Library Application Mathematical Processor. It is a “very low level”
(actually Reversed Polish Notation stack based language and its processor) mathematical processor developed for parallel execution (on SMP, cluster(s) and Grid(s)) of complex mathematical, statistical and general algorithms.
Virtue has complex data structures (scalars, arrays of any dimension, array elements which are themselves structures of scalars, arrays or functions…) and diverse data types (Booleans; fuzzy logicals; characters; numbers – real, complex, quaternion, octonion; addresses; labels; functions and, in the future, specific data types like planetary ephemeris, pixels etc.). Virtue has an almost fully orthogonal approach towards data – any operation that has sense is (hopefully also in the implementation) usable. However, nonsensical operations (like e.g. square root of a character) are strictly disallowed. The execution framework of Virtue is very forgiving, yet strict, in imposing the processing rules for different combinations of data structures and data types. See: http://grgur.irb.hr/Virtue.
