Hi Rick, and all,
I have been reading this active exchange with enjoyment, though much is well beyond me.
But can I ask a question ?
What little I know of parallel programming comes from the days of the Helios Transputer box â we purchased one in Physics, and I wrote and ran various parallel constructs on it. Even managed to port some Apl code (I program my instruments and analyse my data using Apl) to C and embed it in a parallel construct, run it on a group of Transputers.
However for my sins these days I spend quite a bit of my time writing VHDL for the FPGA based instrumentation I design for my experiments.
And I keep looking at the concept of the multiple soft processors with fast interconnection links that can fit on these chips.
Is there any possibility of any of these Occam related parallel languages being of use for sitting inside / generating code for these soft processors, on a reasonable time-scale ?
I've been reading through papers from Abertay with the usual mixture of cheerful excitement and a little frustration that there's more we could do. So...
I've been jotting down thoughts on a new version. I called it Occam-Tau coz the idea of Tau (=2*Pi) representing wholeness, a completion of a turn, a full circle, makes it the natural successor to Occam-Pi (which is dare I say, tongue half in cheek, "half-finished"?!).
Occam-Pi brings maturity to the good ideas on concurrency. Most of the bases are covered. Job done... Well, only "half" done. If you want to include some sequential code in Occam-Pi, it's still, frankly, the same mess it was in back in the '80s. Occam-Tau is about the completion of that circle.
Can we have a language please that is capable of both small scale and large scale projects?
My thoughts are written down on my Google Drive which I will share and invite you to comment on. Let's make this a discussion about the language. But more so, let's also make this a discussion about implementation - ideas are fun but fruitless without implementation.
I look forward to your comments,