From wagner@luthien.in-berlin.de Thu Dec 20 13:33:07 2001 Newsgroups: comp.lang.modula3 Path: cs.tu-berlin.de!fu-berlin.de!hirsch.in-berlin.de!luthien.in-berlin.de!wagner From: Olaf Wagner Subject: Recent CM3 activities User-Agent: tin/pre-1.4-19990216 ("Styrofoam") (UNIX) (FreeBSD/4.4-RELEASE (i386)) Reply-To: wagner@elego.de Sender: wagner@luthien.in-berlin.de Organization: 'Holistic Computing Services' Message-ID: Date: Sat, 8 Dec 2001 21:56:43 GMT Lines: 121 Xref: cs.tu-berlin.de comp.lang.modula3:12558 Though progress has been very slow, I'm happy to announce that there are still some activities, and things do slowly improve. During recent weeks the following things have happend: 1. A lot of new packages have been imported into the cm3 distribution, and quite a few more packages are now compilable again. Most of the new (and missing) stuff has been contributed by Blair MacIntyre and is copyrighted by Columbia University. He dug up his shared object package which I had been looking for in vain all around the internet ftp and http servers, and contributed all his obliq extensions and changes and some base packages. Due to these extensions, now about two dozen packages have become useful again. (The sharedobj package was a missing peace in the cm3 distribution, and I was unwilling to rip out all its traces.) The following base packages have been added: m3-libs / debug / listfuncs / patternmatching (regex and globbing (from John Polstra's CVSup)) / embutils / binIO (from m3.org) m3-comm / events / rdwr / sharedobj / sharedobjgen / udp (from m3.org) The following cm3 packages now compile due to these imports and some fixes: m3-obliq / synloc / synex / metasyn / obliqrt / obliqparse / obliqprint / obliq / obliqlibemb / obliqlibm3 / obliqlibui / obliqlibanim / obliqbinmin / obliqbinstd / obliqbinui / obliqbinanim / obliqsrvstd / obliqsrvui / visualobliq / vocgi / voquery / vorun To most of the obliq packages I have added a BlairMacIntyre_integration_branch, to which I committed the code from Blair MacIntyre's packages, which contain his obliq extensions (repo). Though these packages mostly compile, they do not work out of the box (due to bitrotting and my inadequate integration), which is why they are still on a branch and not in the main code line. I would welcome anybody who has a look at them and does some repair and integration work :-) Changes and new code have also been committed to m3-www/http and m3-ui/opengl. Several of the m3-www and m3-demo packages are now usable again (like fisheye). The algorithm animation package mentor does compile again, but does not animate anything for reasons still dark to me, which is a pity. I would appreciate any knowledgeable person who has a look at the animation package and gives me a hint what is still wrong. 2. I have fixed a bug in the compiler leading to non-termination in certain combinations of quake procedure declarations and calls. One example was the mentor package. The bug was in the embedded quake interpreter, which saved a wrong scope reference when encountering a procedure declaration, and could possibly lead to a cycle in scopes (and thus endless lookups). 3. I have made some attempts to extract the difficult-to-port part of the m3 garbage collector (system call wrappers and vm protection) into their own library. The first tries didn't work, because the m3 compiler needs m3core as the the root of all libraries, and does not work well with anything that does not depend on (and import) m3core. I now think I know how to handle this, though it's not done yet. The idea is that m3core relies on one of two small libraries: m3gc-simple, which offers no vm and system call wrapping support (and thus no incremental and generational garbage collection) but should be easily compile- and portable, and m3gc-enhanced, which will contain everything needed for sophisticated garbage collection (and be much more difficult to compile and port). This should greatly simplify to port and maintain cm3 on new and changed platforms. 4. Some re-organization of interfaces and modules has taken place. TextExtras (which was used quite often in different packages) has been added to libm3, and the rest of m3tk/src/misc has been extracted in its own package, as it is also generally useful. All uses of these modules in the cm3 distribution have been fixed (hopefully). All the recent changes are currently only available via CVS or CVSup from www.elegosoft.com, as I've had no time to build new archives and update the documentation. This will probably be done after I have finished the work on (3). I cannot guarantee that it will happen in this year though ;-) I also hope that I will finally be able to offer direct CVS repository access for CM3 to everybody who wants to work on the packages during January or February of 2002. I hope that this will improve the quality and speed of CM3 development work and be of interest to at least a handful of skilled people around the world :-) Have fun with the new (and old) code! ---------- 2001-12-20: The changes for (3) have been made for all POSIX platforms and new binary installation archives have been built.