Skip to content

YaoXiang RFC(请求评议)索引 ​

RFC(Request for Comments)是YaoXiang语言特性设计提案的正式提交格式。

目录 ​


模板 ​

文件说明
RFC_TEMPLATE.mdRFC标准模板
EXAMPLE_full_feature_proposal.md完整示例(模式匹配增强)

草案RFC ​

编号标题作者创建日期状态
RFC-002RFC-002:基于 libuv 的资源类型 IO 实现层晨煦2026-01-05草案
RFC-019RFC-019: 类型级同像性 (Typed Homoiconicity) - 语法即类型晨煦2026-02-20草案
RFC-028RFC-028:JIT 编译器 — VM 内多级执行引擎晨煦2026-06-11草案
RFC-031RFC-031:优化级别与 Pass 管理器晨煦2026-06-16草案
RFC-033RFC-033: ^^ 反射运算符晨煦2026-06-16审核中
RFC-034RFC-034: 统一调试工具链晨煦2026-07-06草案
RFC-035RFC-035: MCP Server 支持(AI Agent 集成)晨煦2026-07-11草案
RFC-027aRFC-027a: 终止检查的证明函数兜底晨煦2026-09-14草案
RFC-029aRFC-029a: 模块缓存与增量重编译晨煦2026-09-07草案

审核中RFC ​

编号标题作者创建日期状态
RFC-032RFC-032: spawn 统一表达式修饰 — 消除 spawn for 特殊情况晨煦2026-06-16审核中

已接受RFC ​

编号标题作者创建日期状态
RFC-004RFC-004: 柯里化方法的多位置联合绑定设计晨煦2025-01-05已接受
RFC-006RFC-006: 文档站点建设晨煦2025-01-05已接受
RFC-007RFC-007: 函数定义语法统一方案沫郁酱2025-01-05已接受
RFC-008RFC-008:Runtime 并发模型与调度器脱耦设计晨煦2025-01-05已接受
RFC-009RFC-009: 所有权模型设计晨煦2025-01-08已接受
↳ RFC-009aRFC-009a: 令牌生命期分析——基于霍尔证明管道晨煦2026-06-13已接受
RFC-010RFC-010: 统一类型语法 - name: type = value 模型晨煦已接受
↳ RFC-010aRFC-010a: 尾表达式求值与 return 语义晨煦2026-09-15已接受
↳ RFC-010bRFC-010b: 模式匹配完备化(变体解构与穷尽性)晨煦2026-09-03草案
RFC-011RFC-011: 泛型系统设计 - 零成本抽象与宏替代晨煦已接受
↳ RFC-011aRFC-011a: 接口实现与动态分发晨煦2026-06-14已接受
↳ RFC-011bRFC-011b: 运算符重载与接口驱动运算符晨煦2026-09-22已接受
RFC-012RFC 012: F-String 模板字符串Chen Xu2025-01-27已接受
RFC-013RFC 013: 错误代码规范晨煦2026-02-02已接受
RFC-014RFC-014: 包管理系统设计晨煦2026-02-12已接受
↳ RFC-014aRFC-014a: Registry 协议规范晨煦2026-06-11审核中RFC
↳ RFC-014bRFC-014b: 构建系统与二进制分发晨煦2026-06-11审核中RFC
↳ RFC-014cRFC-014c: 工作空间支持晨煦2026-06-11审核中RFC
RFC-015RFC-015: YaoXiang 配置系统设计晨煦2026-02-12已接受
RFC-017RFC-017: 语言服务器协议(LSP)支持设计晨煦2026-02-15已实现
RFC-018RFC-018:LLVM AOT 编译器设计晨煦2026-02-15已接受
RFC-024RFC-024:基于 spawn 的并发运行时语义晨煦2026-06-05已接受(修订版)
RFC-026RFC-026:FFI 核心机制晨煦2026-07-03已接受
↳ RFC-026aRFC-026a: 可扩展 FFI 机制体系晨煦2026-06-05审核中RFC
↳ RFC-026bRFC-026b: yx-bindgen 工具链晨煦2026-06-05草案RFC
RFC-027RFC-027:编译期谓词与统一静态验证晨煦2026-06-07已接受
RFC-029RFC-029: 模块语义系统晨煦2026-06-13已接受
RFC-030RFC-030: assert 断言机制晨煦2026-06-15已接受
RFC-036RFC-036: std.test 测试框架与 yaoxiang test 命令晨煦2026-07-26已接受
RFC-037RFC-037: 工业化分发方案 — 基于 cargo-dist 的编译器/工具链打包ChenXu2332026-07-26已接受
RFC-038RFC-038: 语句终止与换行规则(Statement Termination & Newline Rules)ChenXu2332026-08-05已接受
RFC-029fRFC-029f: 编译目标角色与导入面语义晨煦2026-09-12已接受

已废弃RFC ​

编号标题作者创建日期状态
RFC-001RFC-001:并作模型与错误处理系统晨煦2025-01-05已废弃(被 RFC-024 取代)
RFC-020RFC-020:动态模块与 FFI 集成晨煦2026-03-14已废弃
RFC-021RFC-021: 库驱动 FFI 扩展与跨语言调用支持晨煦2026-03-14已废弃
RFC-022RFC 022: 霍尔逻辑静态验证支持(规约注释与规约类型)晨煦2026-03-16已废弃(被 RFC-027 取代)
RFC-023RFC-023: 闭包捕获模型晨煦2026-05-29已废弃

已拒绝RFC ​

编号标题作者创建日期状态
RFC-003RFC-003:版本规划晨煦2025-01-05已拒绝
RFC-005RFC-005: 自动化CVE安全检查系统晨煦2025-01-05已拒绝
RFC-016RFC 016: 量子原生支持与多重后端集成晨煦2026-02-13已拒绝
RFC-025RFC-025: 可扩展原语类型机制晨煦2026-06-05已拒绝

RFC生命周期 ​

草案 → 审核中 → 已接受 → 已废弃(被取代)
                  ↓
               已拒绝(不通过)

状态说明 ​

状态位置说明
草案rfc/draft/作者草稿,等待提交审核
审核中rfc/review/开放社区讨论和反馈
已接受rfc/accepted/成为正式设计文档,进入实现阶段
已废弃rfc/deprecated/曾被接受,被新设计取代
已拒绝rfc/rejected/被拒绝的RFC文档

文档修订规则 ​

RFC 文档只能包含正确信息。 设计变更时,直接修改原文使其表达当前正确语义; 不得保留错误内容再添加「勘误」块修正。

保留「原文 + 勘误」是最差的写法:读者读到一半才发现前面全作废,前面的阅读成本被浪费,且容易误把已废止的段落当作现行语义引用。勘误块看上去谨慎,实际是把整理成本转嫁给了读者。

正确做法 ​

情形做法
实现与原文不符、原文被推翻直接改写该段落为正确内容,删除原表述
示例代码不再可运行直接改成可运行的形态,不要保留旧示例
需要让读者知道「以前是什么样」只在特意做错误对比时保留错误内容,并紧邻标注「此写法是错误的」及原因
需要追溯设计演变写在 Git 提交信息或 issue 中,不写进 RFC 正文

例外 ​

以下的错误信息可以保留:

  • 特意做的对比教学:明确标注为正误对照,且错误一侧紧邻解释「为何错」
  • 已废弃 RFC(rfc/deprecated/):作为历史记录,但应标注被谁取代

辅助手段 ​

  • RFC 顶部的 status / updated 字段反映最新修订时间,无需在正文写「本次修订了什么」
  • 实现状态用表格的 ✅ / ❌ 表达,避免在正文穿插状态叙述
  • 完整的修订历史用 git log -- <文件> 查看

提交RFC ​

  1. 阅读 RFC_TEMPLATE.md 了解格式要求
  2. 参考 EXAMPLE_full_feature_proposal.md 学习写法
  3. 创建新文件,命名为 序号-描述性标题.md
  4. 将文件放入 docs/reference/rfc/draft/ 目录
  5. 更新本索引文件,添加新RFC条目
  6. 提交PR进入审核流程

贡献指南 ​

请参阅 CONTRIBUTING.md 了解贡献指南。