Par 是一种表达性强、并发且完全的语言:
- 具有线性类型和对偶性:可通过Discord或Discussions交流提问分享想法,支持可通过GitHub Sponsors,Rust cratePar可用于实际编程,包含会话类型及对多客户端的非确定性处理,有相关截图。
- 开始使用语言参考:包含语言及其类型系统的完整指南,YouTube 上有稍旧版本的直播教程,运行游乐场需安装 Rust 和 Cargo,进行
git clone、cd、cargo run操作。 - 示例:可在交互式游乐场打开示例并操作函数。
特性:
- 表达性强:对偶性给每个概念两个方面,带来丰富的组合性,Par 包含多种一流结构类型,如对偶类型、函数、选择类型等,一些特殊语法自然得出,如用生成器语法构造列表。
- 并发:自动并行执行,基于线性逻辑语义易并行执行,仅数据依赖强制顺序执行,可编译为交互组合子,有结构化并发的会话类型,如描述石头剪刀布玩家行为的类型。
- 完全性:无崩溃,无死锁,几乎无无限循环,通过
begin/loop检查递归的良基性,迭代类型可构造潜在无限对象无危险。
- 理论背景:基于线性逻辑,解释为会话类型,语言基于 CP 过程语言,程序与线性逻辑证明一一对应。
- 待办事项:处于早期开发阶段,缺少基本特性如字符串和数字、可复制数据类型、外部 I/O 实现,还有高级特性如非确定性、特质/类型类。
- 欢迎加入帮助:项目仍有很多工作,若感兴趣可加入Discord。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。