Fluent Session Programming in C#

Shunsuke Kimura, Keigo Imai
2020 Electronic Proceedings in Theoretical Computer Science  
We propose SessionC#, a lightweight session typed library for safe concurrent/distributed programming. The key features are (1) the improved fluent interface which enables writing communication in chained method calls, by exploiting C#'s out variables, and (2) amalgamation of session delegation with async/await, which materialises session cancellation in a limited form, which we call session intervention. We show the effectiveness of our proposal via a Bitcoin miner application.
doi:10.4204/eptcs.314.6 fatcat:hybulxzjmbahtlewtvh6fpydjy