π-calculus, Session Types research at Imperial College

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

  1. define protocols, represented as a set of continuation-passing style classes, and
  2. 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.

Related publications