Type-safe session programming in Scala
lchannels is a Scala library for type-safe session programming. It provides
linear I/O channels, which allow to transfer data locally, or over a network.
Its API allows to
- define protocols, represented as a set of continuation-passing style classes, and
- easily write programs that interact according to such protocols
The Scala type checker can examine the resulting code and spot many protocol
violations at compile time.