[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: son of occam (was: Re: JCSP, CSP Networking, and other some other points)

On 2 Aug 2009, at 15:52, Larry Dickson wrote:

I'm going to trail off this thread and change its name because I'm changing the subject a bit. Everybody seems to agree that occam is "dead" but is still the best way to do things, which is of course ironic. I have long wanted to move it in a more practical direction while keeping its cleanness and simplicity (NO OO), and now may have a business route to that (more on that later). I want to get some opinions from the list.

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.


Dr. Ian East
57, Kidlington Road, Islip, Oxfordshire OX5 2SS
(+44) 0 1865 373268