ABSTRACT
The formal semantics of Erlang is a bit too complicated to be easily understandable. Much of this complication stems from the desire to accurately model the current implementations (Erlang/OTP R11-R14), which include features (and optimizations) developed during more than two decades. The result is a two-tier semantics where systems, and in particular messages, behave differently in a local and a distributed setting. With the introduction of multi-core hardware, multiple run-queues and efficient SMP support, the boundary between local and distributed is diffuse and should ultimately be removed. In this paper we develop a new, much cleaner semantics, for such future implementations of Erlang. We hope that this paper can stimulate some much needed debate regarding a number of poorly understood features of current and future implementations of Erlang.
- }}J. Armstrong. Making reliable distributed systems in the presence of software errors. PhD thesis, Royal Institute of Technology, Stockholm, Sweden, December 2003.Google Scholar
- }}K. Claessen and H. Svensson. A semantics for distributed Erlang. In Proc. of the ACM SIGPLAN workshop on Erlang, pages 78--87, New York, NY, USA, 2005. ACM Press. Google Scholar
Digital Library
- }}L-Å. Fredlund. A Framework for Reasoning about Erlang Code. PhD thesis, Royal Institute of Technology, Stockholm, Sweden, 2001.Google Scholar
- }}L-Å. Fredlund and H. Svensson. McErlang: a model checker for a distributed functional programming language. In Proceeding of the 12th ACM SIGPLAN Int. Conf. on Functional Programming (ICFP), pages 125--136, Freiburg, Germany, 2007. ACM. Google Scholar
Digital Library
- }}M. Petterson. A definition of Erlang (draft). Manuscript, Department of Computer and Information Science, Linköping University, 1996.Google Scholar
- }}H. Svensson and L-Å. Fredlund. A more accurate semantics for distributed Erlang. In Proc. of the SIGPLAN workshop on Erlang, pages 43--54, New York, USA, 2007. ACM. Google Scholar
Digital Library
- }}H. Svensson and L-Å. Fredlund. Programming distributed Erlang applications: pitfalls and recipes. In Proc. of the SIGPLAN workshop on Erlang, pages 37--42, New York, USA, 2007. ACM. Google Scholar
Digital Library
Index Terms
- A unified semantics for future Erlang
Recommendations
Machine-checked natural semantics for Core Erlang: exceptions and side effects
Erlang 2020: Proceedings of the 19th ACM SIGPLAN International Workshop on ErlangThis research is part of a wider project that aims to investigate and reason about the correctness of scheme-based source code transformations of Erlang programs. In order to formally reason about the definition of a programming language and the ...
A semantics for distributed Erlang
ERLANG '05: Proceedings of the 2005 ACM SIGPLAN workshop on ErlangWe propose an extension to Fredlund's formal semantics for Erlang that models the concept of nodes. The motivation is that there exist sequences of events that can occur in practice, but are impossible to describe using a single-node semantics, such as ...
A more accurate semantics for distributed erlang
ERLANG '07: Proceedings of the 2007 SIGPLAN workshop on ERLANG WorkshopIn order to formally reason about distributed Erlang systems, it is necessary to have a formal semantics. In a previous paper we have proposed such a semantics for distributed Erlang. However, recent work with a model checker for Erlang revealed that ...





Comments