Newsgroups: comp.sys.transputer
From: andyr@wizzy.com (Andy Rabagliati)
Subject: Re: OCCAM3 (was :- Revision of occam 2 Referenc
Organization: W.Z.I.
Date: Sat, 6 Aug 1994 17:20:22 GMT
Message-ID: <Cu4Itz.3p1@wizzy.com>

Andres Kruse (NIKHEF),1c/137,2909 <A.Kruse@nikhef.nl> wrote:
> andyr@wizzy.com (Andy Rabagliati) writes:

>> However, the reasons that they are not in OCCAM2 could keep them out of
>> OCCAM3 too.
>
>> Those reasons are :-
>
>> * Inability to write a Usage Checker
>
>> * Indeterminate memory requirements.
>
>Yes. Sounds like good reasons, but as a programmer you just have to be
>very carefull when using pointers then. Same with using pointers in
>other languages (C, Pascal, Fortran).

In a highly parallel program, automated tools are necessary to do the
checking. "Being very careful" doesn't cut it for me. Maybe I am just a
careless person.

With a sequential C program, it is often possible to hack together
something, have it sort of work, and then go in with a debugger and fix
it. I find this a very inefficient method in a parallel OCCAM program.
Without a Usage checker it becomes next to impossible.

I write OCCAM as small, CLEAR, tested modules with a well-defined
interface. Big rambling programs wither and break.

>Well.. It's simply inconvenient if you find out in the middle of your
>FUNCTION that you should not continue. I always declare then a BOOL
>everything.ok and test on it.. but that's not really nice. But maybe
>there is a better way ?

If you would like to post a small example, we could look at it.
Remember, PAR is illegal inside a FUNCTION. Maybe they already fixed it
in OCCAM3.

>> If you want to write in C, there is always the C compiler. More effort
>> is put into the Inmos C compiler than the OCCAM compiler, so you are
>> still getting state-of-the-art.
>
>Hm... Haven't looked into that.. From what I hear of people using C on
>transputers (may be a different compiler) it is much more inconvenient 
>to create parallel processes and synchronise them. In OCCAM parallelism
>is pretty well expressed in the code.

Well, yes. I would write it in OCCAM, and then transliterate into C, if
I wanted the C functionality. That inconvenience is real, and if you
want dynamic process creation maybe the programmer is the only one
qualified to make those decisions, not the compiler writer.

But enough uninformed speculation for me.

Cheers,      Andy.

--
I have lived on the lip of insanity, wanting to		      Andy Rabagliati
know reasons, knocking on a door. It opens.		      andyr@wizzy.com
I've been knocking from the inside ! -- Rumi (1207-1273)      +1.719.635.6099

