Learn More
Consensus is an often occurring problem in concurrent and distributed programming. We present a programming language with simple semantics and build-in support for consensus in the form of communicating transactions. We motivate the need for such a construct with a characteristic example of generalized consensus which can be naturally encoded in our(More)
We propose a method to extend ML with session types which requires minimal typing annotations. Our approach uses a novel combination and extension of well-known techniques to separate the underlying type system of ML from the typing of sessions. This two level approach simplifies session typing and gives rise to a sound and complete inference algorithm for(More)
  • 1