The Mathemagix Compiler


General purpose systems for computer algebra such as Maple and Mathematica incorporate a wide variety of algorithms in different areas and come with simple interpreted languages for users who want to implement their own algorithms. However, interpreted languages are insufficient in order to achieve high performance, especially in the case of numeric or symbolic-numeric algorithms. Also, the languages of the Maple and Mathematics systems are only weakly typed, which makes it difficult to implement mathematically complex algorithms in a robust way.

Since one major objective of the Mathemagix system is to implement reliable numeric algorithms, a high level compiled language is a prerequisite. The design of the Mathemagix compiler has been inspired by the high level programming style from the Axiom and Aldor systems, as well as the encapsulation of low level features by languages such as C++. Moreover, the compiler has been developed in such a way that it is easy to take advantage of existing C++ template libraries. In our presentation, we will give an overview of what has been implemented so far and some of the future plans.

Occasion: MaGiX@Lix, Palaiseau, September 22, 2011

Documents: slideshow, TeXmacs source