Scala supports actors and message passing with the Akka library. Though Scala is statically typed, messages in Akka are dynamically typed (that is, of type Any). The Akka designers argue that using static types is "impossible" because "actor behaviour is dynamic", and, indeed, it is not clear that important actor support, such as supervision or name servers, can be implemented if messages are statically typed. Here we present TAkka, a variant of Akka where messages are statically typed, and show that it is possible to implement supervisors and name servers in such a framework. We show it is possible to smoothly migrate from Akka to TAkka, porting one module at a time. We show that TAkka can support behavioural upgrades where the new message...
Concurrent and distributed programming is notoriously hard. Modern languages and toolkits ease this ...
Over the past decade, the Scala community has shown great interest in using type-level programming t...
We present Oven: a toolset to assure safety and liveness of communication protocols among threads in...
Scala supports actors and message passing with the Akka library. Though Scala is statically typed, m...
The robustness of actor-based concurrent applications can be improved upon by (i) employing failure...
This thesis discusses two methodologies for applying type discipline to concurrent programming with ...
Typestate-oriented programming is an extension of the OO paradigm in which objects are modeled not j...
Properties in the actor model can be described in terms of the message-passing behavior of actors. ...
Recent mainstream programming languages such as Erlang or Scala have renewed the interest on the Act...
ORCA is a concurrent and parallel garbage collector for actor programs, which does not require any S...
Gradual types mediate the interaction between dynamic and simple types, offering an easy transition ...
Actor model is an asynchronous message-passing model for fine-grained concurrency and distributed me...
International audienceAs informal methods do little to help their use for concurrent and distributed...
Many large software systems originate from untyped scripting lan-guage code. While good for initial ...
Much research has been performed with the aim of isolating the basic notions of object-oriented lang...
Concurrent and distributed programming is notoriously hard. Modern languages and toolkits ease this ...
Over the past decade, the Scala community has shown great interest in using type-level programming t...
We present Oven: a toolset to assure safety and liveness of communication protocols among threads in...
Scala supports actors and message passing with the Akka library. Though Scala is statically typed, m...
The robustness of actor-based concurrent applications can be improved upon by (i) employing failure...
This thesis discusses two methodologies for applying type discipline to concurrent programming with ...
Typestate-oriented programming is an extension of the OO paradigm in which objects are modeled not j...
Properties in the actor model can be described in terms of the message-passing behavior of actors. ...
Recent mainstream programming languages such as Erlang or Scala have renewed the interest on the Act...
ORCA is a concurrent and parallel garbage collector for actor programs, which does not require any S...
Gradual types mediate the interaction between dynamic and simple types, offering an easy transition ...
Actor model is an asynchronous message-passing model for fine-grained concurrency and distributed me...
International audienceAs informal methods do little to help their use for concurrent and distributed...
Many large software systems originate from untyped scripting lan-guage code. While good for initial ...
Much research has been performed with the aim of isolating the basic notions of object-oriented lang...
Concurrent and distributed programming is notoriously hard. Modern languages and toolkits ease this ...
Over the past decade, the Scala community has shown great interest in using type-level programming t...
We present Oven: a toolset to assure safety and liveness of communication protocols among threads in...