# A history of Erlang

@article{Armstrong2007AHO,
title={A history of Erlang},
author={Joe L. Armstrong},
journal={Proceedings of the third ACM SIGPLAN conference on History of programming languages},
year={2007}
}
• J. Armstrong
• Published 2007
• Computer Science
• Proceedings of the third ACM SIGPLAN conference on History of programming languages
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… Expand
158 Citations

#### Figures, Tables, and Topics from this paper

contributed articles Erlang
contributedarticles er lang iS a concurrent programming language designed for programming fault-tolerant distributed systems at Ericsson and has been (since 2000) freely available subject to anExpand
On higher-order communication of Erlang
• Computer Science
• 2016 17th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD)
• 2016
This paper studies the higher-order communication mechanism of Erlang's functional programming, which is actually achieved by means of sending the references to functions in the current implementation, and proposes an improved design that realizes purely higher- order communication, i.e., strict program-passing. Expand
Computational REST Meets Erlang
• Computer Science
• TOOLS
• 2011
A very promising architectural style - Computational REST - with a language (and run-time environment) designed with dynamic, distributed applications in mind - Erlang are put together by developing a new framework, which eases development of highly distributed Web applications capable of operating in dynamic environments. Expand
A Concurrency System for Idris & Erlang
Concurrent programming is notoriously difficult, due to needing to reason not only about the sequential progress of any algorithms, but also about how information moves between concurrent agents.Expand
Playing with Bisimulation in Erlang
• Computer Science
• Models, Languages, and Tools for Concurrent and Distributed Programming
• 2019
This work considers Core Erlang and defines an observational semantics following the approach used to define asynchronous bisimulation for the $$\pi$$-calculus, which allows some light on the management of process identifiers in Erlang different from the various forms of name mobility already studied in the literature. Expand
JErlang: Erlang with Joins
• Computer Science
• COORDINATION
• 2010
JErlang, a Join-Calculus inspired extension to Erlang, is designed and implemented and provides a rich set of language features with the authors' joins, and optimisations provide JErlang with good performance. Expand
Correctness of a Concurrent Object Collector for Actor Languages
• Computer Science
• ESOP
• 2018
This work presents a model of ORCA which is parametric to the host language and its type system, and gives invariants preserved by ORCA, and proves its soundness and completeness. Expand
Design and Implementation of a Distributed Software Platform Based on Asynchronous Messages
Although personal computing has advanced and spread considerably during the last decades, the real computer revolution has not happened yet. In order to promote computer literacy, a system is neededExpand
A Concurrency Oriented Real-Time Language
An implementation that enables real-time application to utilize the power of multiprocessor systems and how scheduling based on dependency analysis is able to reach deadlines, which the pure EDF scheduler does not reach is presented. Expand
Back to the futures: incremental parallelization of existing sequential runtime systems
• Computer Science
• SPLASH 2010
• 2010
It is found that incremental parallelization can provide useful, scalable parallelism on commodity multicore processors at a fraction of the effort required to implement conventional parallel threads. Expand

#### References

SHOWING 1-10 OF 41 REFERENCES
Turbo Erlang: Approaching the Speed of C
• B. Hausman
• Computer Science
• ICLP-Workshops on Implementation of Logic Programming Systems
• 1993
A very efficient and portable sequential implementation of Erlang where Erlang programs are compiled into the C language and the preliminary evaluation results show that the performance is not far from the performance of highly optimized C code. Expand
Implementing a functional language for highly parallel real time applications
• Computer Science
• 1992
Projects in which Erlang has been used have demonstrated an order of magnitude reduction in the work load of the specification programming testing compared to projects using conventional programming testing methods. Expand
Distributed programming in Erlang
This paper addresses the question of how to simplify the construction of large concurrent distributed systems by augmented the functional concurrent programming language Erlang with constructs for distributed programming. Expand
Use of Prolog for developing a new programming language
• Computer Science
• 1992
This paper describes how Prolog was used for the development of a new concurrent real-time symbolic programming language called Erlang, and some of the key events which l a y b e t ween the simple prototype and the currentersion of the language. Expand
Making reliable distributed systems in the presence of software errors
It is argued how certain of the requirements necessary to build a fault-tolerant system are solved in the language, and others are solve in the standard libraries, which form a basis for building fault-Tolerant software systems. Expand
A Portable Prolog Compiler
• Computer Science
• Logic Programming Workshop
• 1983
This paper describes the basis of the design of a Prolog implementation which is currently being built, intended to conbine a high degree of portability with speed and efficient utilisation of memory. Expand
Getting Erlang to talk to the outside world
This work argues that the XML family of standards is inefficient and overly complex and proposes basing the Erlang system on a simpler binary scheme called UBF (Universal Binary Format), which has the expressive power of the XML set of standards --- but is considerably simpler. Expand
Proceedings of the 2002 ACM SIGPLAN Workshop on Erlang, Pittsburgh, Pennsylvania, USA, October 7, 2002
• Computer Science
• Erlang Workshop
• 2002
These talks show how a functional language with a strong focus on multitasking can serve a variety of applications, and how tools, methodologies, and language features can improve the effectiveness of Erlang software developers. Expand
A practical subtyping system for Erlang
• Computer Science
• ICFP '97
• 1997
The techniques for type inference, type simplification, and checking when an inferred type conforms to a user-supplied type signature are covered, and early experience with the prototype of the type system is reported. Expand
Concurrent Functional Programming for Telecommunications : A Case Study of Technology Introduction
This thesis deals with two important topics: The use of the best possible technology in the development of telecommunications systems in a world of rapid change and increasing competition. The wordExpand