
Progress on Mathemagix 

1.What has been done

Basix


Basic data types: symbols, lists, arrays, hash tables, etc.

A system for generic objects.

Parsers and pretty printers, together with a system for keeping
track of locations in the source code and generating error
messages.

Important operators and categories for systematic use throughout
the project.

The Mathemagix glue facility, both for
interpreters and functionality.

Mmxlight


The basic interpreter: most control structures, declarations,
function applications, loading files and dynamic libraries.

A rudimentary type system with overloading, implicit conversion
and a first form of genericity based on the generic
type.

An Emacs mode for Mathemagix.

Pack


Remote libraries packaging for quick installation and easy
update.

Gnumerix


Interfaces with Gmp and Mpfr.

Complexified numbers.

Intervals and balls for certified arithmetic.

Wrapper above intervals or balls for computable numbers.

Algebramix


Vectors, matrices and dense polynomials.

A start of modular arithmetic, algebraic numbers and quotient
structures.

Skew polynomials.

Formal power series and a start of transseries and moulds.

Symbolix


Basic arithmetic on symbolic expressions.

Basic calculus: differentiation, substitution and an overly
simple solver.

Analyzit


Some first and improvable routines for numerical matrices and
polynomials.

Some basic utilities for holonomic functions.

First slow version of analytic functions and analytic
continuation.

More packages are to be found in the Mathemagix
root directory
2.What has to be done

Basix


Dispatch frequently used functions (addition, multiplication,
etc.) from generic type.

Mmxlight


Template types (as in an older version of the interpreter, which
did not have generic types or implicit type conversion).

User definable types and modules.

Full exception system.

Higher level constructs such as (limited) generators,
continuations.

Make the interpreter more efficient (bytecode?).

Writing a compiler (already in progress).

Gnumerix


More semantics and several types of semantics for interval and
ball arithmetic.

Algebramix


Asymptotically fast implementations for all basic operations on
univariate (skew) polynomials.

Several versions of fast multivariate polynomials.

Symbolix


Basic differential and exterior calculus.

Efficient manipulation of explog expressions and Risch'
integration algorithm.

Symbolic interfaces for standard data types, i.e.
solve a differential equation using power series.

Analyzit


Systematic implementation of numeric and certified versions of
standard data types.

Full library for holonomic and special functions.

Progress on the subject of effective analytic continuation.
3.How to help

Suscribe to the developers mailing lists and
participate to the design of the language and the elaboration of
good strategies for writing the compiler.

Write interfaces for standard mathematical (or other) libraries.

Help developing the standard libraries.

Help us writing a compiler for Mathemagix.
© 2003–2005 Joris van der Hoeven
Permission is granted to copy, distribute and/or modify this document
under the terms of the
GNU General Public License. If you
don't have this file, write to the Free Software Foundation, Inc., 59
Temple Place  Suite 330, Boston, MA 021111307, USA.