|
|
|
Creating the code for Mathix and Math-x
|
General |
This page is for the programmers
who create (parts of) the code. The following tasks are recognized and
in the future there will be links to the relevant project team pages. |
|
|
Basic |
Resources:
original document and relevant websites |
|
|
Mathix |
Mathix will have a monolithic
kernel like Windows, Linux and Oberon / Bluebottle / A2 |
|
|
|
(1) Create a C-to-Oberon
translator. It may be that Oberon needs to be extended with some Types
(e.g. the Modula Variant Type but a stricter version) to make the translation
easier. |
|
|
|
(2a) Create the Lisp-to-Oberon
translator. Use the GCL
compiler. It currently translates Lisp to C. Then use (1). PM. It may
be that Lisp and Oberon have more structure so that sometimes the road
via C can be bypassed. |
|
(2b) Port Maxima
(currently in Lisp) to the Oberon environment, using (2a) |
|
|
|
(3a) Port Python
to Oberon, using (1) |
|
(3b) Port Sage
to Oberon, using (3a) and (2b) |
|
|
|
(4a) Extend Oberon
/ Bluebottle / A2 with relevant available variaties of programming
methods (see Wirth) |
|
(4b) Extend (4a) with (3b)
via the USE XYZ command, creating a Geniebottle that can switch dialects |
|
|
|
(5a) Create the computer
algebra language. Thus is called Bhaskara after the inventor of the
zero and full positional system for numbers (in the Indian-Arabian-European
stream) |
|
(5b) Program Bhaskara, using
(2b) |
|
(5c) Extend (4b) with the
USE BHASKARA command |
|
(5d) Make parts of Bhaskara
compilable, which creates a new dialect, with a USE BHASCOMP command |
|
|
|
(6) Create the display of
Bhaskara statements in TeXmacs |
|
|
|
(7) Create ports from existing
computer algebra systems such as Maxima, Maple and Mathematica to Mathix |
|
|
|
(8) Port programs such as
Open Office and database programs with the C-to-Oberon port (1). Mathix
should have a fully functional text editor useful for book publishing. |
|
|
|
(9) Integration |
|
|
Math-x |
Math-x will have a micro
kernel like Minix |
|
|
|
(1) Translate Minix
(written in C) to Oberon, using the translator in Mathix (1) above |
|
(2) Adapt Oberon / Bluebottle
/ A2 to to this micro kernel environment (1) and write the required assemblers |
|
(3) Port Mathix to (2) |
|
|
Other |
Conceivably other programs
can be ported too once we have the C-to-Oberon port. These might not be
strictly within this project but there could be cross-fertilization. |