PLEX (programming language): Difference between revisions

Content deleted Content added
top: phrasing
Correction of spelling errors
 
(4 intermediate revisions by 4 users not shown)
Line 26:
[[Image:Mobile Switching Centre-Ericsson AXE.jpg|thumb|Ericsson AXE]]
 
'''PLEX''' (Programming Language for EXchanges) is a special-purpose, concurrent, real-time [[programming language]]. The proprietary PLEX language is closely tied to the architecture of Ericsson's [[AXE telephone exchange]]s which it was designed to control. PLEX was developed by Göran Hemdahl at [[Ericsson]] in the 1970s,<ref name=ErlangHistory/> and it has been continuously evolving since then.<ref name=Semantics>{{cite web |url= http://cdc.ioc.ee/appsem04/webproc/short/erikson-lisper.pdf|title= A Formal Semantics for PLEX|accessdate=2009-03-07 |author= Johan Erikson and Björn Lisper|date= |work= |publisher=Mälardalen University}}</ref> PLEX was described in 2008 as "a cross between [[Fortran]] and a [[Assembly_language#Macros|macro assembler]]."<ref>{{cite web|last1=Hague|first1=James|title=My Road to Erlang|url=https://prog21.dadgum.com/22.html|website=Programming in the 21st Century}}</ref>
 
The language has two variants: ''Plex-C'' used for the AXE Central Processor (CP) and ''Plex-M'' used for Extension Module Regional Processors (EMRP).<ref name=Execution>{{cite web |url= http://www.mrtc.mdh.se/publications/0802.pdf|title= The Execution Model of APZ/PLEX - An Informal Description|accessdate= 2009-03-07 |author= Johan Erikson and Bo Lindell|date= |work= |publisher= Mälardalen University|archive-date= 2009-09-04|archive-url= https://web.archive.org/web/20090904215757/http://www.mrtc.mdh.se/publications/0802.pdf|url-status= dead}}</ref>
 
Ericsson started a project in the mid-1980s to create a successor language, which resulted in [[Erlang (programming language)|Erlang]]. According to co-creator [[Joe Armstrong (programmer)|Joe Armstrong]], "Erlang was heavily influenced by PLEX and the AXE design."<ref name=ErlangHistory/> Erlang did not replace PLEX, but was used alongside it.
 
==Execution model==
A system is divided into separately compiled and loaded units of code called "blocks." A block waits for one or more signals sent from elsewhere in the system, which triggers code execution.<ref name=Execution/>
 
==Pre-compilers==
Line 48:
==References==
{{Reflist|refs=
<ref name=ErlangHistory>{{cite webbook |urldoi=http://www.cse.chalmers10.se1145/edu/year/2009/course/TDA381_Concurrent_Programming/ARCHIVE/VT2009/general/languages/armstrong-erlang_history1238844.pdf1238850 |titlechapter=A Historyhistory of Erlang|accessdatetitle=2009-03-07Proceedings of the third ACM SIGPLAN conference on History of programming languages |authoryear=Joe2007 |last1=Armstrong |datefirst1=Joe |workisbn=9781595937667 |publishers2cid=Ericsson555765 AB}}</ref>
}}