Occam (programming language): Difference between revisions

Content deleted Content added
m Category:Programming languages
Danakil (talk | contribs)
No edit summary
Line 1:
[[de:Occam]] [[it:Occam (linguaggio)]]
 
'''Occam''' is a [[Parallel computing|parallel]] [[programming language]] developed by [[Inmos]] for their line of [[Transputer]]s. Implementations for other platforms exist as well. (The language's name refers to [[William of Ockham]], responsible for [[Occam's Razor]].)
 
Occam builds on [[Communicating Sequential Processes]] (CSP) and shares many of the same features. It is, in a way, a practical implementation of CSP. Occam is aan [[imperative (programming)|imperative]] [[procedural (programming)|procedural]] language, similar(such toas [[Pascal (programming language)|Pascal]] etc).
 
One feature (also foundNote in [[Python programming language|Python]], [[Haskell]], [[Icon]], [[Miranda]], [[ABC programming language|ABC]]) necessary to understand the examples below is that indentation and formatting isare critical for parsing: expressions are terminated by the end of the line, lists of expressions need to be on the same level of indentation (this feature is also found in other languages, such as [[Python (programming language)|Python]], [[Haskell (programming language)|Haskell]], [[Icon (programming language)|Icon]], [[Miranda (programming language)|Miranda]], and [[ABC (programming language)|ABC]]).
 
==Overview==
The most interesting language constructs are described in the following.
 
Communication between processes work through named ''channels''. One process outputs data to a channel via '''!''' while another one inputs data with '''?'''. Input and output will block until the other end is ready to accept or offer data. Examples (c is a variable):
Line 50 ⟶ 49:
 
[[Category:Programming languages]]
[[Category:Concurrent programming languages]]
[[Category:Imperative programming languages]]
[[Category:Procedural programming languages]]
 
[[de:Occam]] [[it:Occam (linguaggio)]]