[M3devel] 5.8.6 LINUXLIBC6 breakage, kernel 2.6.23, glibc-2.6-4

Jay K jay.krell at cornell.edu
Thu Apr 21 21:21:20 CEST 2011


I forgot to reply to this point, which keep coming up:


> starts blurring the line between what is and is not Modula-3.  This could
> turn out to be a problem if Modula-3 is in future again ported to systems
> without complete, modern C environments.  By "problem" I mean an extra
> bifurcation of application programs: some programs for "POSIX Modula-3"




Cvsup won't work in such a system without a certain amount of work.



Such a system requires a fairly significant amount of work.



Nothing discussed here really touches on the work required.





Such a system needs threads implemented in *some* fashion.

 Either pthreads, or sigaltstack, or jmpbuf smashing, or somehow natively in Modula-3,

   but ultimately, you need assembly and/or processor-specificness *somewhere*.

   You must save restore registers somewhere. You must setup a stack somewhere. You need preemption somehow (well,

   maybe not -- "cooperative suspend").

And you need to provide for file I/O somewhere, depending on what sort of program you want to run.

And socket I/O, ditto.

And keyboard/video/mouse/console functionality, ditto.

You can use more or less of the facilities of the underlying system, 
giving you more or less functionality for free/cheap, obligating

you to implement more or less of the functionality you require or desire.





Modula-3 layers on top of Posix and Win32, with more or less thickness and state.





Modula-3 was kind of interesting in that it provided threads with a 
certain amount of portability without requiring an underlying threading 
capability, with just

timers for preemption and setjmp/longjmp for context save/restore.

This is still somewhat interesting, e.g. maybe for DJGPP, but pthreads and Win32 threads are widespread now, and providing these

features isn't particularly valuable or differentiating.

You know -- why use Modula-3? One of the reasons in the past was maybe for portable threading. That is still a reason, but

portable threading is not as difficult to write for one's self these days, merely by layering over pthreads and Win32.







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


More information about the M3devel mailing list