[M3devel] Coroutines for Modula-3 released on AMD64_LINUX

dirk muysers dmuysers at hotmail.com
Mon Jun 10 11:10:56 CEST 2019

I am a very old professional programmer who was already active at the time when Unix was just born and we all did assembly only. I notice that the majority of this community mainly cares about polishing the Linux aspect of this system. This is a bit worrysome because the ultimate purpose of programming is producing applications, and applications mostly target the world of Windows. Never forget that 80% of the world's desktop computers run Windows, 12% run MacOS and Linux a poor 1.5%. Linux is for nerds, not for users. And limiting oneself to the world of Linux is like masturbating instead of producing children. I never forget that when one of us objected to John McCarthy that his solution of a given problem was not very elegant, he answered: "I leave elegance to the tailors." Modula-3 did not become mainstream because it did not care enough about Windows and producing applications for the world at large, which -- like it or not (personally i think it's one of the worst software ever produced) -- depends on Windows OSes. Sorry for that bit of  out of context Linux vs. Windows knee-jerk philosophy.

On 10/06/2019 08:57:39, Mika Nystrom <mika at alum.mit.edu> wrote:

Hello out there in Modula-3 world,

I have today integrated into the master branch of Critical Mass Modula-3 (CM3) a library to do coroutines (cooperative multitasking).  The library is based on getcontext/setcontext and has necessitated very minor changes to the pthreads implementation of Modula-3 threads (these changes were already added last year into the main line).

For information on how to use the library, consult the new interface Coroutine.i3


This is the first of hopefully numerous releases of Intel-developed Modula-3 software.  Intel licenses the company's contributions under a "BSD-3-clause license", details of which are included in the distribution.

The build is for AMD64_LINUX only at the moment; on other targets, the coroutines should be disabled (with a dummy interface so code will still build portably, but not run).

I hope this doesn't break anything for other people (I know my importation of various Caltech code a while back did break Windows, sorry about that).

Further code coming from Intel would not be as low-level as this, but mainly software for various EDA-related tasks.  There are also a number of similar libraries and programs from Caltech coming soon, as I find time to import them.  Apologies in advance for any churn!

     Mika Nystrom

_______________________________________________ M3devel mailing list M3devel at elegosoft.com https://m3lists.elegosoft.com/mailman/listinfo/m3devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20190610/0b7d7f01/attachment.html>

More information about the M3devel mailing list