Joined: 6-May-2007 Posts: 11222
From: Greensborough, Australia
@NutsAboutAmiga
I've been having some experience lately with writing code in a cooperative multitasking system. By writing scripts for this Reaper music program. Each script can lock it up if it keeps busy looping which I found out when a serious bug in my script kept busy looping a routine and I had to force quit the whole program. The way to multitask if a script needs to wait for an event is to poll for events and defer execution until one appears. But it's quirky and a script can't pause itself in a routine if it was waiting for a key press for example. The script must run all the way through the main routine and then exit. After which it is restarted with a deferred routine. It makes it hard to deal with because a usual program flow can't be used, it must be written to expect the main routine being run again in a loop from start to finish.
By the sounds of it they would have been best to stick with Pascal. Nothing wrong with a language because it isn't C. I liked things like resources. The forks idea with things like resource forks was a neat idea that would have been good in AmigaOS. For example, I always thought integrating icons into the file system would have worked well, rather than as extra info files with extra overhead and redundant images copied all over the place.
IIRC Amos started like as STOS on the ST. It is odd it never made it to Mac given it was one of the 68K trinity and most respected out of the three in the industry. However, the original STOS would have been good to port from. But, maybe there would be a problem in the naming scheme. What would you call it? MCOS? MAOS? MACOS? Problem right there.