ABSTRACT
Erlang was designed for writing concurrent programs that “run forever.” Erlang uses concurrent processes to structure the program. These processes have no shared memory and communicate by asynchronous message passing. Erlang processes are lightweight and belong to the language, not the operating system. Erlang has mechanisms to allow programs to change code “on the fly” so that programs can evolve and change as they run. These mechanisms simplify the construction of software for implementing non-stop systems.
This paper describes the history of Erlang. Material for the paper comes from a number of different sources. These include personal recollections, discussions with colleagues, old newspaper articles and scanned copies of Erlang manuals, photos and computer listings and articles posted to Usenet mailing lists.
References
- J. L. Armstrong. Telephony Programming in Prolog. Report T/SU 86 036 Ericsson Internal report. 3 March 1986.Google Scholar
- J. L. Armstrong and M. C. Williams. Using Prolog for rapid prototyping of telecommunication systems. SETSS ’89 Bournemouth 3–6 July 1989Google Scholar
- J. L. Armstrong, S. R. Virding and M. C. Williams. Erlang User’s Guide and Reference Manual. Version 3.2 Ellemtel Utveklings AB, 1991.Google Scholar
- J. L. Armstrong, S. R. Virding and M. C. Williams. Use of Prolog for developing a new programming language. Published in The Practical Application of Prolog. 1–3 April 1992. Institute of Electrical Engineers, London.Google Scholar
- J. L. Armstrong, B. O. DƤcker, S. R. Virding and M. C. Williams. Implementing a functional language for highly parallel real-time applications. Software Engineering for Telecommunication Switching Systems, March 30 – April 1, 1992 Florence.Google Scholar
- Joe Armstrong. Getting Erlang to talk to the outside world. Proceedings of the 2002 ACM SIGPLAN workshop on Erlang. Google ScholarDigital Library
- Joe Armstrong. Making reliable distributed systems in the presence of errors. Ph.D. Thesis, Royal Institute of Technology, Stockholm 2003.Google Scholar
- Staffan Blau and Jan Rooth. AXD 301 — A new generation ATM switching system Ericsson Review No. 1, 1998 Google ScholarDigital Library
- D. L. Bowen, L. Byrd, and W. F. Clocksin, 1983. A portable Prolog compiler. Proceedings of the Logic Programming Workshop, Albufeira, Portugal, 74–83.Google Scholar
- B. DƤcker, N. Eishiewy, P. Hedeland, C-W. Welin and M. C. Williams. Experiments with programming languages and techniques for telecommunications applications. SETSS ’86. Eindhoven 14–18 April, 1986.Google Scholar
- Bjarne DƤcker. Datologilaboratoriet De fƶrsta 10 Ƅren. Ellemtel Utvecklings AB, 1994.Google Scholar
- Bjarne DƤcker. Concurrent Functional Programming for Telecommunications. A case study of technology introduction: October 2000. Licentiate thesis. ISSN 1403–5286. Royal Institute of Technology. Stockholm, Sweden.Google Scholar
- L. Peter, Deutsch, A Lisp machine with very compact programs. Proceedings of 3rd IJCAI, Stanford, Ca., Aug. 1973.Google Scholar
- Ian Foster and Stephen Taylor. Strand – New Concepts in Parallel Programming. Prentice hall, 1990. Google ScholarDigital Library
- A. S. Haridi. Logic Programs Based on a Natural Deduction System. Ph.D. Thesis Royal Institute of Technology, Stockholm, 1981.Google Scholar
- Bogumil Hausman. Turbo Erlang: Approaching the speed of C. In Implementations of Logic Programming Systems, Kluwer Academic Publishers, 1994.Google Scholar
- S. Holmstrƶm. A Functional Language for Parallel Programming. Report No. 83.03-R. Programming Methodology Lab., Chalmers University of Technology, 1983.Google Scholar
- Tobias Lindahl and Konstantinos Sagonas. Detecting software defects in telecom applications through lightweight static analysis: A War Story. APLAS 2004.Google ScholarCross Ref
- David Maier and David Scott Warren: Computing with Logic: Logic Programming with Prolog. Benjamin/Cummings 1988. Google ScholarDigital Library
- Simon Marlow Philip Wadler. A practical subtyping system for Erlang. ICFP 1997. Google ScholarDigital Library
- HĆ„kan Mattsson, Hans Nilsson and Claes Wikstrƶm: Mnesia — A distributed bobust DBMS for telecommunications applications. PADL 1999.Google Scholar
- Eliot Miranda. BrouHaHa — A portable Smalltalk interpreter. SIGPLAN Notices 22 (12), December 1987 (OOPSLA ’87). Google ScholarDigital Library
- Paul Morrison. Flow-Based Programming: A New Approach to Application Development. Van Nostrand Reinhold, 1994.Google Scholar
- Hans Nilsson, Torbjƶrn Tƶrnkvist and Claes Wikstrƶm: Amnesia – A distributed real-time primary memory DBMS with a deductive query language. ICLP 1995.Google Scholar
- Hans Nilsson and Claes Wikstrƶm: Mnesia – An industrial DBMS with transactions, distribution and a logical query language. CODAS 1996.Google Scholar
- Tommy Ringqvist. BR Policy concerning the use of Erlang. ERA/BR/TV-98:007. March 12, 1998. Ericsson Internal paper.Google Scholar
- Tony Rogvall and Claes Wikstrƶm. Protocol programming in Erlang using binaries. Fifth International Erlang/OTP User Conference. 1999.Google Scholar
- T. Sjƶland. Logic Programming with LPLO — An Introductory Guide. CSALAB The Royal Institute of Technology, Stockholm, Sweden. October 1983.Google Scholar
- D. H. D. Warren. An Abstract Prolog Instruction Set. Technical Report 309, Artificial Intelligence Center, SRI International, 333 Ravenswood Ave, Menlo Park CA 94025, 1983.Google Scholar
- Claes Wikstrƶm. Distributed programming in Erlang. PASCO’94. First International Symposium on Parallel Symbolic Computation.Google Scholar
- Ulf Wiger. Four-fold increase in productivity and quality – industrial strength functional programming in telecom-class products. Workshop on Formal Design of Safety Critical Embedded Systems. March 21–23, 2001, Munich.Google Scholar
Index Terms
-
A history of Erlang
-
Login options
Check if you have access through your login credentials or your institution to get full access on this article.
-
Published in
HOPL III: Proceedings of the third ACM SIGPLAN conference on History of programming languages
June 2007
483 pages
Copyright Ā© 2007 ACM
Publisher
Association for Computing Machinery
New York, NY, United States
Conference