>> 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
