skip to main content
10.1145/1238844.1238850acmconferencesArticle/Chapter ViewAbstractPublication PageshoplConference Proceedingsconference-collections
Article

A history of Erlang

Published:09 June 2007Publication History

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.

Skip Supplemental Material Section

Supplemental Material

m6-armstrong-h.mov

mov

208.3 MB

References

  1. J. L. Armstrong. Telephony Programming in Prolog. Report T/SU 86 036 Ericsson Internal report. 3 March 1986.Google ScholarGoogle Scholar
  2. J. L. Armstrong and M. C. Williams. Using Prolog for rapid prototyping of telecommunication systems. SETSS '89 Bournemouth 3--6 July 1989Google ScholarGoogle Scholar
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. Joe Armstrong. Getting Erlang to talk to the outside world. Proceedings of the 2002 ACM SIGPLAN workshop on Erlang. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Joe Armstrong. Making reliable distributed systems in the presence of errors. Ph.D. Thesis, Royal Institute of Technology, Stockholm 2003.Google ScholarGoogle Scholar
  8. Staffan Blau and Jan Rooth. AXD 301 --- A new generation ATM switching system Ericsson Review No. 1, 1998 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle Scholar
  10. 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 ScholarGoogle Scholar
  11. Bjarne Däcker. Datologilaboratoriet De första 10 åren. Ellemtel Utvecklings AB, 1994.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. L. Peter, Deutsch, A Lisp machine with very compact programs. Proceedings of 3rd IJCAI, Stanford, Ca., Aug. 1973.Google ScholarGoogle Scholar
  14. Ian Foster and Stephen Taylor. Strand - New Concepts in Parallel Programming. Prentice hall, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. S. Haridi. Logic Programs Based on a Natural Deduction System. Ph.D. Thesis Royal Institute of Technology, Stockholm, 1981.Google ScholarGoogle Scholar
  16. Bogumil Hausman. Turbo Erlang: Approaching the speed of C. In Implementations of Logic Programming Systems, Kluwer Academic Publishers, 1994.Google ScholarGoogle Scholar
  17. S. Holmström. A Functional Language for Parallel Programming. Report No. 83.03-R. Programming Methodology Lab., Chalmers University of Technology, 1983.Google ScholarGoogle Scholar
  18. Tobias Lindahl and Konstantinos Sagonas. Detecting software defects in telecom applications through lightweight static analysis: A War Story. APLAS 2004.Google ScholarGoogle ScholarCross RefCross Ref
  19. David Maier and David Scott Warren: Computing with Logic: Logic Programming with Prolog. Benjamin/Cummings 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Simon Marlow Philip Wadler. A practical subtyping system for Erlang. ICFP 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Håkan Mattsson, Hans Nilsson and Claes Wikström: Mnesia -- A distributed bobust DBMS for telecommunications applications. PADL 1999.Google ScholarGoogle Scholar
  22. Eliot Miranda. BrouHaHa -- A portable Smalltalk interpreter. SIGPLAN Notices 22 (12), December 1987 (OOPSLA '87). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Paul Morrison. Flow-Based Programming: A New Approach to Application Development. Van Nostrand Reinhold, 1994.Google ScholarGoogle Scholar
  24. 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 ScholarGoogle Scholar
  25. Hans Nilsson and Claes Wikström: Mnesia - An industrial DBMS with transactions, distribution and a logical query language. CODAS 1996.Google ScholarGoogle Scholar
  26. Tommy Ringqvist. BR Policy concerning the use of Erlang. ERA/BR/TV-98:007. March 12, 1998. Ericsson Internal paper.Google ScholarGoogle Scholar
  27. Tony Rogvall and Claes Wikström. Protocol programming in Erlang using binaries. Fifth International Erlang/OTP User Conference. 1999.Google ScholarGoogle Scholar
  28. T. Sjöland. Logic Programming with LPLO -- An Introductory Guide. CSALAB The Royal Institute of Technology, Stockholm, Sweden. October 1983.Google ScholarGoogle Scholar
  29. 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 ScholarGoogle Scholar
  30. Claes Wikström. Distributed programming in Erlang. PASCO'94. First International Symposium on Parallel Symbolic Computation.Google ScholarGoogle Scholar
  31. 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 ScholarGoogle Scholar

Index Terms

  1. A history of Erlang

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              HOPL III: Proceedings of the third ACM SIGPLAN conference on History of programming languages
              June 2007
              483 pages
              ISBN:9781595937667
              DOI:10.1145/1238844

              Copyright © 2007 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 9 June 2007

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              HOPL III Paper Acceptance Rate12of12submissions,100%Overall Acceptance Rate12of12submissions,100%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader