| Crates.io | ferrite-session |
| lib.rs | ferrite-session |
| version | 0.3.0 |
| created_at | 2020-11-15 14:34:48.274487+00 |
| updated_at | 2022-02-23 21:19:39.02962+00 |
| description | Session Types DSL for Rust |
| homepage | https://github.com/maybevoid/ferrite |
| repository | https://github.com/maybevoid/ferrite |
| max_upload_size | |
| id | 312583 |
| size | 115,395 |
Ferrite is a DSL for writing session type programs in Rust. This is an ongoing research work by Soares Chen and Stephanie Balzer to implement session types in Rust.
A work-in-progress documentation for Ferrite is available as a book.
A draft technical report for Ferrite is currently available at Arxiv.
cargo build
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
ferrite-sessionbase - Core constructs for Ferritefunctional - Functional programming constructs such as type application and natural numbers.protocol - Type definitions for session typessession - Term constructorspublic.rs - Public API exposed by Ferritesrc/bin - Demo executablesThis 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.