Creative Commons Attribution 3.0 Germany license
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)