Blake wrote:
When I was fooling around with language designs, one thing that occurred to me was that, when we program serially, we imply that we =care= what order things are executed in, when very often we don't really. Order has a implied significance which can actually be deceptive. Worse, it can have a significance that is hidden.
For example, we could have some initialize code:
aVar := someClass new. anotherVar := someOtherClass new.
Does anotherVar need aVar to be initialized before it can be initialized? Good programming practice sez "it shouldn't" but play along. The point is, there's no way to take say "I don't care what order things occur in, as long as THIS is done before THAT begins."
Occam allows you do to that with its SEQ and PAR constructs.