Occam (programming language): Difference between revisions

Content deleted Content added
Undid revision 942158446 by 2600:1015:B05C:5D13:DC4A:8216:6E36:933D (talk) - Corresponding edit reverted in OCaml
Citation bot (talk | contribs)
m Alter: isbn. Removed parameters. | You can use this bot yourself. Report bugs here. | Activated by User:AManWithNoPlan | All pages linked from User:AManWithNoPlan/sandbox2 | via #UCB_webform_linked
Line 17:
}}
 
'''occam''' is a [[programming language]] which is [[Concurrent computing|concurrent]] and builds on the [[communicating sequential processes]] (CSP) process algebra,<ref name="oc21refman">{{cite book |author=<!--Must be person--> |author-link=Inmos |url=http://www.wotug.org/occam/documentation/oc21refman.pdf |title=occam 2.1 Reference Manual |publisher=SGS-Thomson Microelectronics Ltd |format=PDF |date=1995-05-12}} Inmos document 72 occ 45 03</ref> and shares many of its features. It is named after philosopher [[William of Ockham]] after whom [[Occam's razor]] is named.
 
occam is an [[Imperative programming|imperative]] [[Procedural programming|procedural]] language (such as [[Pascal (programming language)|Pascal]]). It was developed by [[David May (computer scientist)|David May]] and others at [[Inmos]] (trademark INMOS), advised by [[Tony Hoare]], as the native programming language for their [[transputer]] [[microprocessor]]s, but implementations for other platforms are available. The most widely known version is occam 2; its programming manual was written by Steven Ericsson-Zenith and others at [[Inmos]].
Line 67:
''occam 2''<ref name="oc2refman">{{cite book |last=Ericsson-Zenith |first=Steven |title=occam 2 Reference Manual |publisher=Prentice-Hall |year=1988 |isbn=0-13-629312-3}}</ref> is an extension produced by Inmos Ltd in 1987 that adds [[floating-point]] support, functions, multi-dimensional arrays and more data types such as varying sizes of integers (INT16, INT32) and bytes.
 
With this revision, occam became a language able to express useful programs, whereas occam 1 was more suited to examining algorithms and exploring the new language (however, the occam 1 compiler was written in occam 1,<ref name="cook1">{{cite conference |url=https://books.google.co.uk/books?id=nvnnZtJWAZkC&dq=architectures+languages+and+techniques+barry+cook&source=gbs_navlinks_s |title= Occam on Field-Programmable Gate Arrays |last1=Cook |first1=Barry M |last2=Peel |first2=RMA |author-link= |date=1999-04-11 |conference=22nd World Occam and Transputer User Group Technical Meeting |conference-url= |editor-last=Cook |editor-first=Barry M. |others= |volume= |edition= |book-title=Architectures, Languages and Techniques for Concurrent Systems |publisher=IOS Press |archive-url= |archive-date= |___location=Keele, United Kingdom |pages= |format= |id= |isbn= 90 -5199 -480 -X |bibcode= |oclc= |doi= |quote= |ref= |postscript= |language= |page=219 |at= |trans-title= |access-date=2016-11-28}}</ref> so there is an existence proof that reasonably sized, useful programs could be written in occam 1, despite its limits).
 
===occam 2.1===
''occam 2.1''<ref name="oc21refman"/> was the last of the series of occam language developments contributed by Inmos. Defined in 1994, it was influenced by an earlier proposal for an '''occam 3''' language (also referred to as "occam91" during its early development) created by Geoff Barrett at Inmos in the early 1990s. A revised Reference Manual describing occam 3 was distributed for community comment,<ref name="occam3">{{cite journal |last1=Barrett |first1=Geoff |last2=Ericsson-Zenith |first2=Steven |title=occam 3 Reference Manual |url=http://www.wotug.org/occam/documentation/oc3refman.pdf |date=1992-03-31 |publisher=[[Inmos]] |format=PDF |access-date=2008-03-24}}</ref> but the language was never fully implemented in a compiler.
 
occam 2.1 introduced several new features to occam 2, including: