FreeST: session types for mortals

FreeST is a typed concurrent programming language where processes communicate via message-passing.

Messages are exchanged on bidirectional channels. Communication on channels is governed by a powerful type system based on polymorphic context-free session types. Built on a core linear functional programming language, FreeST features primitives for forking new threads, for creating channels and for communicating on these. The compiler builds on a novel algorithm for deciding the equivalence of context-free types.

FreeST is funded by FCT, project SafeSessions, Safe Concurrent Programming with Session Types, DOI, from March 2021 to August 2024.