The Pony programming language supports the actor paradigm, and allows sharing of mutable state in a data-race free manner. Data-race freedom is guaranteed through its novel type system based on reference capabilities, which determine how each actor may use the reference (read, write, immutable, isolated etc). In this talk we will show how the operational semantics drives the design of the type system, an insight which we obtained while deep in the design phase, and which lead to a more elegant and more powerful type system. If time permits, we will also outline how the type system is employed for fully concurrent Garbage Collection.
I am a Professor of Programming Languages in the Department of Computing, Imperial College, London, UK.