展示 HN:Hibana – Rust 的仿射 MPST 运行时
Show HN: Hibana – An Affine MPST Runtime for Rust

原始链接: https://hibanaworks.dev

``` // 1. 全局编排 const PING_PONG: g::Program<_> = g::seq( g::send::(), g::send::(), ); // 2. 编译时投影 const CLIENT: g::RoleProgram<0, _> = g::project(&PING_PONG); // 3. 仿射执行 // 编译器强制执行协议合规性。 let (client, _) = client.flow::()?.send(&42u32).await?; let (client, pong) = client.recv::().await?; ```

## Hibana:用于可靠分布式系统的全新 Rust 运行时 开发者 o8vm 开源了 Hibana,这是一种专为构建健壮分布式系统而设计的全新 Rust 运行时。Hibana 利用“Affine 多方会话类型”(MPST)来防止常见的“协议漂移”错误——这些错误源于复杂系统中不正确的交互顺序。 本质上,开发者只需定义一次整体交互*编排*,Hibana 就会为每个参与者投影出安全、特定角色的 API。系统的“Affine”特性确保交互被精确消费一次,从而防止跳过步骤或错误分支等问题。 这种方法为交互逻辑提供了一个单一的事实来源,减少了隐藏的状态机错误。核心库专为资源有限的环境而设计,既是 `no_std` 又是 `no_alloc` 导向的。还有一个演示,展示了通过会话类型分支进行 AI 控制。开发者承认初步反馈表明应该侧重于解释*益处*,而不是技术术语。
相关文章

原文
// 1. Global Choreography
const PING_PONG: g::Program<_> = g::seq(
    g::send::<Client, Server, Ping>(),
    g::send::<Server, Client, Pong>(),
);

// 2. Compile-Time Projection
const CLIENT: g::RoleProgram<0, _> = g::project(&PING_PONG);

// 3. Affine Execution
// Compiler enforces protocol compliance.
let (client, _) = client.flow::<Ping>()?.send(&42u32).await?;
let (client, pong) = client.recv::<Pong>().await?;
联系我们 contact @ memedata.com