[M3devel] new target? :)

Daniel Alejandro Benavides D. dabenavidesd at yahoo.es
Fri Feb 25 15:20:48 CET 2011


Hi all:
It was that there is some OS in Modula-2+ which run enterely in user space and you didn't want to get into the kernel but just for any option you would need to be unsafe (like machine starting, perhaps the OS managed software faults isolated from kernel space) that had the Runtime to time-out protect deadlocks, and it did it pretty much in a microkernel, just that company didn't feel sure o fsuch sophisticated system. Nowadays would be good if one could cooperate it in ARM VM for web platform developing, without the need for  GUI kernel, which indeed could crash the system if exploted, instead feels safer to run from "microkernel" traceable user space threads but making calls to a sort of video controller see below.
Someone has the sources of it, just don't how complete, they did develop a UIMS and a window toolkit, plenty of tools to check:
http://lists.cloud9.co.uk/pipermail/bbc-micro/2010-January/007795.html

Apparently it had an Acorn C and Modula runtime:
http://homepage.mac.com/dr2chase/resume.html

Also about the machine and video chip:
http://www.khantazi.org/Archives/MachineLst.html#A500

And its window toolkit:
http://pages.sbcglobal.net/btlewis/resume-formatted.html

Thanks in advance

--- El jue, 24/2/11, Jay K <jay.krell at cornell.edu> escribió:

De: Jay K <jay.krell at cornell.edu>
Asunto: Re: [M3devel] new target? :)
Para: "Mika Nystrom" <mika at async.caltech.edu>
CC: "m3devel" <m3devel at elegosoft.com>
Fecha: jueves, 24 de febrero, 2011 22:09




 >  I also think almost everyone who had anything to do with M3 at DEC is now at Microsoft

 

 

Not just M3. M3 wasn't many people. Lots of people at Microsoft were at Digital.

 

 

> Modula-3 project: you're supposed to be able to write device drivers
> and such things in Modula-3. I agree though that targeting C doesn't


 

Understood, agreed -- you can hypothetically write anything in Modula-3.

The optional safety is fairly unique and important.

Except for C# and Modula-3, all languages seem to be strictly safe or unsafe.

 

 

I think, you can imagine, either an entire system in Modula-3, with m3core/libm3

coded "directly" in Modula-3 and simply statically or dynamically linked

using "standard mechanism", or if there is still a user/kernel boundary,

you either have to hack the compiler a bit, or resort to some assembly

(possibly embedded in .c files). That is, calling the kernel is inevitably

a special call sequence, and cm3 doesn't currently understand anything like that.

 

 

About device drivers -- a critical piece is the runtime.

Imagine writing an NT or Linux driver.

Well, if you separate language from library...and limit language features

to accomodate missing runtime...and retarget small parts of the

runtime perhaps.. you know, there's a certain isomorphism?

You can write almost anything in C or Modula-3 and most things

will look very similar and map one-to-one.

I think I read that Modula-3 can describe anything C can, except unions.

 

 

You know, don't expect to have garbage collection in the kernel.

Maybe not exception handling.

Not necessarily the file I/O you are used to. But something.

Not the threading you are used to. But something (at least on NT).

But certainly you can interface Modula-3 to the NTkernel/Linux/*BSD

runtimes, just like we  interface to Win32/Posix.

 

 

I'm not sure it'd buy much. I guess if you really like the syntax...

 

 

It's another area where compiling to C would help.

esp. for the exception handling on NT!

__try/__finally are available in C on NT, usermode and kernel,

and the implementation is much more efficient than what Modula-3 does currently.

I really need to stop saying all this stuff though, either be quiet or do it...

 

 

 - Jay
 
 		 	   		  



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20110225/178af8b2/attachment-0002.html>


More information about the M3devel mailing list