<language> (Note lower case) A language based on Anthony Hoare's CSP and 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 produce 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].

< Previous Terms Terms Containing occam Next Terms >
Communicating Sequential Processes
Experimental Programming Language
KISS Principle
occam 2
occam 2
Occam's Razor
occurs check