Skip to content

ferrite-rs/ferrite

Repository files navigation

Ferrite - Session Types DSL for Rust

Crates.io Documentation Apache licensed Build Status

Overview

Ferrite is a DSL for writing session type programs in Rust. This is an ongoing research work by Soares Chen and Stephanie Balzer, and Bernardo Toninho to implement session types in Rust.

Documentation

  • The paper Ferrite: A Judgmental Embedding of Session Types in Rust is published at ECOOP 2022.

  • A technical report for Ferrite is currently available at Arxiv.

  • A work-in-progress documentation for Ferrite is available as a book.

Build Instructions

cargo build

Running Demo

A number of demo executables are available in the src/bin directory. To run a particular demo, use cargo run with the name of the demo file. For example:

RUST_LOG=info cargo run --bin hello
RUST_LOG=info cargo run --bin shared

Acknowledgement

This material is based upon work supported by the National Science Foundation under Grant No. CCF-1718267. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

About

Session Type EDSL for Rust

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •