On 27 Sep 2012, at 14:04, Ruth Ivimey-Cook wrote:
I love occam for the power and capability of it's parallel constructs, but also found the limitations it has as a sequential language very limiting. I can agree that a "proper" multi-stage loop is a lovely thing to have (in the absence of goto or break) and also that there are serious issues with more advanced data structures. IMO occam-next must support at least lists and sets of things as a fundamental type. It would be good if the language were capable of expressing other types, e.g. b-trees, ring buffers, and compound types: b-trees of lists (aka hash table), et al.
I spent a lot of time thinking through a language design, but was finally unable to get grant funding to build a compiler. (Able postgrads were rather thin on the ground at Brookes, compared with Oxford and Kent. I did have one start a compiler, but the need to earn a living, and go home to a wife, caught up with him.)
What I would be interested to see would be if a computer languages scientist can bring some of the power and flexibility of, say, the C# Class and Interfaces structures into one language with Occam's parallel constructs. Does that necessarily and automatically break the use of occam as a formal language?
I would definitely stay the hell away from anything that looked like C++, C# or Java, because they have no formal foundation (however hard some try to put one in afterwards). My philosophy was to build on occam, and try for a solid foundation (in CSP/FDR) where anything differed.