Design and Implementation of Concurrent C0
Max Willsey, Rokhini Prabhu, Frank Pfenning · Electronic Proceedings in Theoretical Computer Science · 2017
We describe Concurrent C0, a type-safe C-like language with contracts and session-typed communication over channels. Concurrent C0 supports an operation called forwarding which allows channels to be combined in a well-defined way. The language's type system enables elegant expression of session types and message-passing concurrent programs. We provide a Go-based implementation with language based optimizations that outperforms traditional message passing techniques.