from
The Free On-line Dictionary of Computing (8 July 2008)
occam
<language> (Note lower case) A language based on {Anthony
Hoare}'s {CSP} and {David May}'s {EPL}. Named after the
English philosopher, William of Occam (1300-1349) who
propounded {Occam's Razor}. The occam language was designed
by David May of {INMOS} to easily describe {concurrent}
processes which communicate via one-way channels. It was
developed to run on the {INMOS} {transputer} but {compilers}
are available for {VAX}, {Sun} and {Intel} {MDS}, inter alia.
The basic entity in occam is the process of which there are
four fundamental types, {assignment}, input, output, and wait.
More complex processes are constructed from these using SEQ to
specify sequential execution, PAR to specify parallel
execution and ALT where each process is associated with an
input from a channel. The process whose channel inputs first
is executed. The fourth constructor is IF with a list of
conditions and associated processes. The process executed is
the one with the first true condition in textual order. There
is no {operator precedence}.
The original occam is now known as "occam 1". It was extended
to {occam 2}.
Simulator for VAX (ftp://watserv1.waterloo.edu/).
Tahoe mailing list: <[email protected]>.
[David May et al, 1982. "Concurrent algorithms"].
["Occam", D. May, SIGPLAN Notices 18(4):69-79, 1983].
(1994-11-18)