History of |
During the late ninetees, our wish for a new general purpose computer algebra language was motivated by two main reasons: the quasi-absense of free computer algebra systems and the non-existence of sufficiently general compiled computer algebra languages.
A first draft for the type system was developed during this
period, largely inspired by
In 2001, Dan Grayson convinced me that the
During 2011, it turned out that implicit conversions were a
major obstacle to providing a clean semantics and designing
an efficient compiler. Inspired by
Some progress has been made: on the one hand side the old
computer algebra systems
Taking into account the above developements, the original design
goals of
The above design objectives lead to the development of the mmx-shell interpreter to which
We have reorganized
On the other hand, we provide the concept of an “abstract evaluator”. This allows users to implement different concrete languages which may take advantage out of the functionality provided by libraries. The new interpreter mmx-light replaces mmx-shell.
We progressively returned to our original design goal to develop
a compiled and strongly typed language for computer algebra and
computer analysis. This has converged towards the release of a
new compiler mmc together with a new interpreter
mmi (which is really another backend for mmc). The underlying language requires a stricter
typing of declarations. For instance, a declaration such as
We started the development of a new library caas,
entirely written in
A partial rewrite of the compiler will be necessary in order to increase its robustness. As a part of this, we intend to provide well defined APIs for the manipulation of all intermediate typed expressions which are manipulated by the compiler. After this reorganization, it should also become possible to further improve the compiler so as to generate heavily optimized code.