[M3devel] 5.8.6 LINUXLIBC6 breakage, kernel 2.6.23, glibc-2.6-4 message dated "Fri, 22 Apr 2011 06:29:08 -0000."

Jay K jay.krell at cornell.edu
Fri Apr 22 21:25:42 CEST 2011

Most of this is is not related to using C. Details below.

> -- Threads work perfectly in PM3.  In CM3 it's very much ???

PM3 only uses user threads, right?
And the only problem with user threads on CM3 currently is that it depends on pthread_atfork
recently and hopefully briefly, and libc/libpthread is broken on some systems and we have to workaround.

> -- It took five years to get TEXT working acceptably (as in, no stack
>    overflows!) in CM3.  Now seems more or less OK, but Text.Hash is
>    still possibly an order of magnitude slower than .

I strongly suspect the problem here is in the library design.
It is ok to have a readonly string type, but programmers should also have
access to a writable/growable string/buffer type.
See what C# and Java do.
I suspect TEXTs problems stem from trying to make TEXT be both types in one.
i.e. handling a lot of concatenation efficiently.

> -- I have no debugger that works for CM3.  m3gdb is *very useful* for
>    the old PM3.  No it doesn't work perfectly but you can set breakpoints
>    and print variables but that's what at least I use a debugger for.

CM3 m3gdb should be the same as it ever was.
I've started work on making stock gdb worthwhile but it is mostly/all disabled currently,
as exposing correct typeinfo to the backend has a tendency to break things.

> -- CM3 has some weird performance issues; namely ISTYPE and TYPECASE
>    are very slow

Unrelated. And maybe we should look into it.

> -- m3tk is broken owing to the introduction of LONGINT.  This is not a


> -- other LONGINT problems...


> In fact I think they mostly come from things that were done at Critical Mass, Inc.

Yes, definitely at least some.

> have had *something* to do with someone's attempt to make Modula-3 more
> of "all things to all people" than it was.

We should be able to do somewhat better overall..

PM3 also doesn't support pthreads or Win32 or work on any modern Linux system, right?

 - Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20110422/ae042362/attachment-0002.html>

More information about the M3devel mailing list