[fpc-pascal] Common OpenMP syntax?
Vinzent Höfler
JeLlyFish.software at gmx.net
Fri Jul 21 12:16:15 CEST 2006
John Coppens wrote:
> On Thu, 20 Jul 2006 21:11:49 +0200
> Vinzent Höfler <JeLlyFish.software at gmx.net> wrote:
>
>> Alan Burns? That's a name which rings a bell. You could have send the
>> URL, though. ;)
>>
>> http://www-users.cs.york.ac.uk/~burns/pf.html
>>
>> Hmm, and taking a peek look at the examples, it doesn't really surprise
>> me, that this just looks like the Pascal version of Ada's tasking.
>
> Hi Vinzent.
>
> Yes - quite famous.
>
> But apart from the ADA style resources, it also implement a number of
> other tools, such as channels/remote invocation, etc.
Yes, he borrowed from quite some concurrent languages (the semaphore
could be Modula, and the channels maybe occam, I'm not sure). It still
looks very much like Ada to me, especially the remote invocation just
looks like Ada's rendezvous. Well, he calls it process, not task - just
like in VHDL - but apart from that it looks very similar.
> The cobegin/coend
> pair to specify concurrency is elegant, though maybe somewhat 'flat'.
What do you mean by 'flat'? That it can't be nested? If I read the
OpenMP specs correctly, they say there, that they don't expect vendors
to implement nested stuff real soon anyway. :)
Yet, I don't see a compelling reason - apart from the question how to
implement it - why a nice new syntax couldn't nest "cobegin"s just like
we already do with "begin"s:
cobegin
Do_This;
Do_That;
cobegin
Do_More;
Do_Much_More;
coend;
coend;
Not sure of that would work. ;)
Well, I guess, I have to read the specs more thoroughly, perhaps I come
up with an idea, how all this stuff can be mapped nicely to this ugly C
hack. They even state, that they are so much more special an better
compared with all the existing concurrent languages, that I'd like to
prove them otherwise. ;)
Vinzent.
More information about the fpc-pascal
mailing list