On 2 Aug 2009, at 15:52, Larry Dickson wrote:
First, I don't see why anyone should believe occam is dead, unless (unbeknownst to me) the Kent folk have ceased support of occam-pi.
Second, I don't see why OO has to be unclean or 'un-simple'. Surely, it's the interpretation of OO, in Java and C++, that's the problem. However, I would certainly agree that inheritance is also a problem, as it lacks a simple and coherent semantics.
IMHO, we need both process and object abstraction. They can co-exist within a simple model, where every object has a single owner at any time. Object and value can pass between processes. (Besides, do you really want to live without defining lists, stacks, queues, trees etc.?)
The longer I have tinkered with Honeysuckle, the more I am convinced that service protocol is the right way to raise the level of abstraction from a simple channel. It is natural and intuitive, and is applicable to everything from flip-flop and gate to distributed (client-server) computing. It also extends the formal foundation, bringing guaranteed a priori deadlock freedom (via static verification which can built into the compiler – no need to hire mathematicians to prove anything).
A compiler is under development (progressing well) that targets CSP initially.