Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Language Primitives and Type Discipline for Structured Communication-Based Programming
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
On message deliverability and non-uniform receptivity
Fundamenta Informaticae
Subtyping for session types in the pi calculus
Acta Informatica
Practical type inference based on success typings
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Session-Based Distributed Programming in Java
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Towards a Formal Foundation to Orchestration Languages
Electronic Notes in Theoretical Computer Science (ENTCS)
Detection of asynchronous message passing errors using static analysis
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Hi-index | 0.02 |
As software tends to be increasingly concurrent, the paradigm of message passing is becoming more prominent in computing. The language Erlang offers an intuitive and industry-tested implementation of process-oriented programming, combining pattern-matching with message mailboxes, resulting in concise, elegant programs. However, it lacks a successful static verification mechanism that ensures safety and determinism of communications with respect to well-defined specifications. We present a session typing system for a featherweight Erlang calculus that encompasses the main communication abilities of the language. In this system, structured types are used to govern the interaction of Erlang processes, ensuring that their behaviour is safe with respect to a defined protocol. The expected properties of subject reduction and type safety are established.