7 个版本

0.3.0 2022年2月23日
0.2.0 2021年6月23日
0.1.4 2021年6月12日
0.1.3 2021年5月14日
0.1.0 2020年11月15日

#978 in Rust 模式

每月下载量 31

MIT/Apache

115KB
5K SLoC

Ferrite - Rust 的会话类型 DSL

Crates.io Documentation Apache licensed Build Status

概述

Ferrite 是用于在 Rust 中编写会话类型程序的 DSL。这是 Soares Chen 和 Stephanie Balzer 进行的一项持续研究工作,旨在在 Rust 中实现会话类型。

文档

Ferrite 的文档正在作为一个 书籍 形式完善中。

Ferrite 的技术报告草案目前可在 Arxiv 上获取。

构建说明

cargo build

运行演示

src/bin 目录中有多个演示可执行文件。要运行特定的演示,请使用 cargo run 命令,并带有演示文件的名称。例如

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

代码组织

ferrite-session

  • base - Ferrite 的核心结构
  • functional - 函数式编程结构,如类型应用和自然数。
  • protocol - 会话类型的类型定义
  • session - 项构造函数
  • public.rs - Ferrite 暴露的公共 API

演示

致谢

本材料基于美国国家科学基金会资助的研究工作,资助编号为 CCF-1718267。本文中表达的意见、发现、结论或建议均为作者的观点,不一定反映美国国家科学基金会的观点。

依赖项

~7–18MB
~268K SLoC