<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
Most of this is is not related to using C. Details below.<br><br><br>> -- Threads work perfectly in PM3.  In CM3 it's very much ???<br><br>PM3 only uses user threads, right?<br>And the only problem with user threads on CM3 currently is that it depends on pthread_atfork<br>recently and hopefully briefly, and libc/libpthread is broken on some systems and we have to workaround.<br><br><br>> -- It took five years to get TEXT working acceptably (as in, no stack<br>>    overflows!) in CM3.  Now seems more or less OK, but Text.Hash is<br>>    still possibly an order of magnitude slower than .<br><br>Unrelated.<br>I strongly suspect the problem here is in the library design.<br>It is ok to have a readonly string type, but programmers should also have<br>access to a writable/growable string/buffer type.<br>See what C# and Java do.<br>I suspect TEXTs problems stem from trying to make TEXT be both types in one.<br>i.e. handling a lot of concatenation efficiently.<br><br><br>> -- I have no debugger that works for CM3.  m3gdb is *very useful* for<br>>    the old PM3.  No it doesn't work perfectly but you can set breakpoints<br>>    and print variables but that's what at least I use a debugger for.<br><br><br>CM3 m3gdb should be the same as it ever was.<br>I've started work on making stock gdb worthwhile but it is mostly/all disabled currently,<br>as exposing correct typeinfo to the backend has a tendency to break things.<br><br><br>> -- CM3 has some weird performance issues; namely ISTYPE and TYPECASE<br>>    are very slow<br><br><br>Unrelated. And maybe we should look into it.<br><br><br>> -- m3tk is broken owing to the introduction of LONGINT.  This is not a<br><br>Unrelated.<br><br>> -- other LONGINT problems...<br><br>Unrelated.<br><br><br>> In fact I think they mostly come from things that were done at Critical Mass, Inc.<br><br><br>Yes, definitely at least some.<br><br><br>> have had *something* to do with someone's attempt to make Modula-3 more<br>> of "all things to all people" than it was.<br><br><br>We should be able to do somewhat better overall..<br><br><br>PM3 also doesn't support pthreads or Win32 or work on any modern Linux system, right?<br><br><br> - Jay<br>                                     </body>
</html>