[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

https://github.com/modula3/cm3/blob/master/m3-libs/m3core/src/coroutine/Common/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