Things To Do
Here is a list of things that need to be done to improve the
CM3 5.1/5.2 distribution. If you want to work on any of them, we
would like to be informed to be able to avoid duplicate work.
-
Write IPv6 and TCPv6 interfaces for M3. Create a
backwards-compatible interface which facilitates adapting
existing applications to the new protocols (i.e. using
reasonable defaults etc.)
-
Make m3gdb work again on current operating systems. Adapt the
TEXT handling to the changes in CM3.
-
Add real Unicode support. Probably it will be best to use
UTF-8 as an encoding and revert to the old TEXT representation.
-
Extend the M3 back-end interface to provide efficient support
for exceptions through the new gcc exception handling
interface. As the old table based approach does not work any
more with current gccs, the M3 front-end needs to be taught
about using this new interface then instead of the old
EX_STACK method with generated explicit jump tables.
-
Find a substitute for the Microsoft linker on the NT386 /
WIN32 platform. It would also be a worthwhile project to write
a linker in Modula-3.
-
Make the NT386GNU platform work with current Cygwin on Windows
systems.
-
Test and stabilize the compiler and runtime on all existing
platforms. Make sure all the system interfaces are correct and
up-to-date.
-
Build the compiler on some of the other included target
platforms, test it, and provide a minimal binary installation
archive. You may find the scripts provided by Elego helpful.
I would still appreciate to find some maintainers for some
of the currently inactive platforms of CM3, who could do the
initial bootstrap and provide installation archives for new
releases. [ow 2003-07-19]
-
Port the system to a new target platform. We'll write up some
porting instructions during the next weeks.
Since the first release, two platforms have been added:
PPC_DARWIN and PPC_LINUX. Ports to other operating systems
and hardware should be considerably easier now, as many
tasks have been automated, and tools and quite
up-to-date. [ow 2003-07-19]
-
Integrate and improve system documentation. The first release
(5.1.0) will either have none or very minimal documentation.
This needs to be done soon to make the system usable for new
users. Much has also been done in this area. The current
documentation set should be quite usable, though it would be
nice to have the interactive Reactor capabilities and the SGML
documentation packages from PM3. [ow 2003-07-19]
-
Update all the database stuff (ODBC, Postgres, etc.) and make
it compile and work with current systems. I haven't tried this
yet, though it was one of the reasons I got involved.
Darko Volaric has done updated the database binding,
though he says that several thing are still missing and could
be improved.[ow 2003-07-19]
-
Extend the network objects stub generator to understand
WIDECHARs (or does it already?).
-
Compile/fix/test any of the untested packages.
-
Add Unicode support to Trestle/VBT kit/FormsVBT. This will be
a major task but needed for lots of things.
-
Improve the installer and installation process.
-
Write some useful build scripts for pure WIN32 systems (no
shell support).
-
Improve the CM3 information and documentation at m3.org.
m3-support{at}elego.de