用编舞式编程约束 Rust 的运行时行为 — Hacker News 中文摘要
来源:github.com — 41 分 · by spencerflem
📋 概述
Hibana 让 Rust 程序从一份全局「编舞」出发执行有限多方协议:编舞被投影成每个角色的紧凑程序,每一次发送、接收或路由步骤都必须与那份程序匹配,才允许推进状态。它是一个由编舞推导出的运行时强制内核,无条件 no_std、不需要分配器、使用调用方提供的存储。协议状态保存在紧凑描述符中,而不是给每个状态都生成一个独立的 Rust 延续类型,因此协议规模增长不会变成端点类型膨胀。单份编舞支持最多 256 个角色,提供异步 send、seq、par、二元 route 与带守卫的 roll,但本身不实现网络栈,也不保证把协议拆分到多个会话后仍等价于原全局协议。
🔑 核心要点
- 核心是由全局编舞投影出每个角色的程序,逐步核对后才提交进展。
- 它是运行时强制内核,无条件 no_std 且不需要分配器。
- 协议状态存于紧凑描述符,避免端点类型随协议膨胀。
- 单份编舞支持 256 个角色,覆盖完整的一字节角色域。
- 提供异步 send、seq、par、route 与带守卫的 roll。
- 它不实现网络栈,且拆分会话会改变保证边界。
💡 金句
Hibana lets Rust programs execute a finite multiparty protocol from one global choreography.
👍 0
👎 0
← 返回 Hacker News 首页