>> i thought that was potentially interesting (and there were other things), 
>> but i was
>> also fairly sure i'd seen that done for (a variant of) occam-2
> 
> I thought I was taught occam channels where always typed
> and the message types where fixed - though this was quite a while ago.

Occam 2 channel typing was extended with what was called 'protocols',
but the term was a bit misleading.  It was just a way of declaring the
channel to pass a complex type (e.g. a counted array, or a discriminated
union - what limbo calls an adt with a pick clause).   The compiler
checks the correctness of every individual send/receive (e.g. that the
right number of elements are communicated for a counted array - no
buffer overflows! - and that all cases of a discriminated union are handled).
But there's no checking of the sequencing of communications (e.g. you
can't specify that SYN in one direction is followed by ACK in the other).

> I was sad Transputers & occam missed.

In fact there are huge numbers of transputers today hidden inside
consumer devices, programmed presumably in occam because that's
essentially their machine language - they just aren't identified as such.

-- Richard

Reply via email to