'''occam 2'''<ref name="oc2refman">{{cite book | last=Ericsson-Zenith |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 capable of expressing 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">{{Factcite 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|first= Cook|last= Barry M|author= Peel, RMA|author-link= |date=June20071999-04-11|year= 1999 |conference= 22nd World Occam and Transputer User Group Technical Meeting|conference-url= |editor= Barry M. Cook|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= |access-date= 2016-11-28 |quote= |ref= |postscript= |language= |page= 219|at= |trans-title= }}</ref> so there is an existence proof that reasonably sized, useful programs could be written in occam 1, despite its limitations).