Content deleted Content added
wotug.ukc.ac.uk is no longer maintained. Add wotug.org/occam. |
Added brief description of occam 1; various Occam -> occam changes; minor tweaks. |
||
Line 1:
:''Do not confuse it with the [[Ocaml]] language.''
'''Occam''' (officially written in lowercase as '''occam''') is a [[Parallel computing|parallel]] [[programming language]] that builds on [[Communicating Sequential Processes]] (CSP) and shares many of their features. It is named after [[William of Ockham]] of [[Occam's Razor]] fame. Occam is, in a way, a practical executable implementation of CSP.
Occam is an [[imperative (programming)|imperative]] [[procedural (programming)|procedural]] language (such as [[Pascal (programming language)|Pascal]]). It was developed by [[
==Overview==
Line 46:
==Language revisions==
===
'''Occam 1''' was a preliminary version of the language. This supported only the VAR data type, which was an integral type corresponding to the native word length of the target architecture, and one-dimensional arrays.
'''Occam 2''' is an extension produced by INMOS Ltd in 1987 that adds floating-point, functions and more language types like varying sizes of integers (INT16, INT32) and character types.▼
===occam 2===
With this revision Occam became a language capable of expressing useful programs, whereas occam 1 was more suited to examining algorithms and exploring the new language.▼
▲'''Occam 2''' is an extension produced by INMOS Ltd in 1987 that adds [[floating-point]] support, functions, multi-dimensional arrays and more
▲With this revision,
["occam 2 Reference Manual", [[INMOS]], P-H 1988, ISBN 0-13-629312-3].
===
'''Occam 2.1''' is a second enhancement to occam, produced in 1988 by [[INMOS]] Ltd. It was the last of the series language developments contributed by INMOS. Despite its "incremental" version number, it was a significant upgrade in the usefulness of the language, introducing:
Line 66 ⟶ 70:
* Ability to return fixed-length array from function;
For a full list of the changes see Appendix P of the [http://www.wotug.org/occam/documentation/oc21refman.pdf INMOS
===
'''Occam 3''' was the name for a proposal for the next-generation occam language, created by one of the senior programmers at INMOS. A specification was created and distributed for community comment. The new language included a large number of changes, many of which were focussed at making code sharing, simultaneous development, and project reuse easier.
The [http://www.wotug.org/occam/documentation/oc3refman.pdf
Some elements from occam 3 were introduced into the occam 2.1 compiler by other teams, and came to be known as 'occam 2.5' - as in "half-way there"!
===
'''Occam 2.5''' is the common name for the language compiled by the Kent Retargettable
* nested protocols
Line 86 ⟶ 90:
* extended rendezvous.
The KRoC team have made the compiler available on their website. In recent times, the team has decided to rename the compiler to [[
==External links==
|