In the paper "Lightweight Session Programming in Scala", we introduce a "lightweight" integration of session types in the Scala programming language, based on (1) a formal type-level encoding, and (2) a library implementation of linear I/O channels, called lchannels, providing a convenient API for session-based programming, and supporting both local and distributed communication. This artifact is the source code of lchannels, with all the examples and benchmarks discussed in the paper.
@Article{scalas_et_al:DARTS.2.1.11, author = {Scalas, Alceste and Yoshida, Nobuko}, title = {{Lightweight Session Programming in Scala (Artifact)}}, pages = {11:1--11:2}, journal = {Dagstuhl Artifacts Series}, ISSN = {2509-8195}, year = {2016}, volume = {2}, number = {1}, editor = {Scalas, Alceste and Yoshida, Nobuko}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.2.1.11}, URN = {urn:nbn:de:0030-drops-61327}, doi = {10.4230/DARTS.2.1.11}, annote = {Keywords: session types, Scala, concurrency} }
f54ac784723bf884d204046c1ec332c2
(Get MD5 Sum)
Feedback for Dagstuhl Publishing