| 7. RC_Fail is possible with non-blocking semantics. (no matching request was waiting => return immediately, to be avoided as risk of busy polling)
Or use an XCHAN, and you will not poll (busy or not) even in this situation. See below.
| Only giving priorities to messages make little sense as they don't use a lot of the processing resources, whereas Tasks/Processes do.
I would regard message priority as controlling what a process should do when, so the above argument would be invalid
| Essentially, priority is an aspect of the message, not the sender
Yes,.. but the sender sends the high priority message!
But, if the man in the gabardine suit was a spy and his message could changethe war…
..who would let that spy (just any grey spy like him) give priority to his message?
Whom does he think he is?
| I am afraid I share your wishful thinking, even if I regret so.
I have introduced something I call “architectural leak” in :
“Architectural leak” from link to application level could be seen as application code
that is added to compensate for missing features at link level. Chained processes and
overflow buffers are needed when buffered channels are not supplied. Busy polling is
needed if the link level does not deliver appropriate flow control. The channel-readychannel
connected to a buffered channel, described in this paper as x-channel, would
decrease architectural leakage.
So, we’re all striving for architectural balance.
So there should be balance between “I have it all already in my API” and “I want to make it all in my language”.
XCHANs helps that balance!
| What is essential?
New channel types? (like XCHAN?)
protocol-sessions? (as suggested by.. Peter?)
a king to decide (advised by a committee)
a million++ hits on YouTube tutorials, like 
after numviewers +=1 to  and studying Go to depth see what to learn from it. They have learnt from “Occam”!
..think ahead about what I would do if the king dropped XCHAN and I had joined the committee for the Good XCHAN Cause..
(=some level of consensus needed..)
 – CPA-2012: “XCHANs: Notes on a New Channel Type”
 – http://www.youtube.com/watch?v=f6kdp27TYZs&sns=em - “Go concurrency patterns” Rob Pike at «Google I/O 2012»:
(Sorry for the XCHAN mantra, but this thread is that room..)
I would like to see an Occam-like language agreed, defined,
implemented and promoted in an open process.
I'm not interested in discussions about how to represent
priority. There were several very good reasons why this was
relegated to the 'configuration' section of the original language
specification. In the meantime, nothing has changed.
The occam-pi language is an over-extended version of occam
with no formal specification. Some of the novel features have no
efficient implementation in message-passing distributed memory
So my suggestion is that we start form occam2, and look at what
we need to add from occam3 and occam-pi. What is essential?
I've been working on language issues for quite a while now -
mainly looking at how we can really get value out of thousands
Not sure how best to do this but I'd like to see it happen. I'd be
happy to host a meeting.
On 4 Oct 2012, at 20:38, Rick Beton wrote:
I started the original discussion following Peter's 'Occam Obviously' presentation, but sadly the language discussion petered out, lapsing into a fascinating but many-year-long rehearsed discussions on priority.
My original hope was to seek an answer to this question: if the answer is Occam (obviously or otherwise), what will it take to make Occam generally usable? In its present form it is not so.
Then there's the question of aspiration versus practicalities. The first suggestion I made was for packages to be added to Occam-pi and I put it first deliberately. Not a new suggestion, this; in fact Occam3 had 'modules' way back in 19xx (choose your own xx). I don't really care for the details of the implementation, I'm much more concerned that Occam-pi/-tau should belong to a busy community, inspired by (a) clarity of thinking and (b) a need to make things happen.
If this is wishful thinking, then alas Occam is not obviously going ever to be more than a teaching tool.
So, what next?