Files
Endorphin-Document/appendices/specification-status.md
T

112 lines
5.2 KiB
Markdown

# 规范状态
本附录记录语言设计的确定程度与尚未定义的边界。它用于理解设计稿,不代表软件实现进度或可执行性保证。
## 已确定约定
| 主题 | 已确定内容 |
| --- | --- |
| 语言定位 | 前后端共用的云原生编程语言,UI 是应用领域之一 |
| 代码归属 | 每段代码属于唯一用户名和至少一级 namespace |
| 用户身份 | 使用唯一 handle 定位,不用显示名替代 |
| namespace | 各层语义一致;以外部 key 检索,不在正文声明自身归属 |
| key 形式 | `用户名:namespace路径`,冒号分隔用户与路径,点号分隔层级 |
| use | 引用完整 namespace,不附加选择性名称列表 |
| 代码组织 | 独立代码段存储在 S3,由索引组装可见代码视图,不采用源码文件 module 制 |
| 数据结构目标 | 用 class 表达共享结构,通过类取得数据的具体形式另行定义 |
| 调用目标 | 普通逻辑调用表达输入、结果与依赖,系统组织执行 |
| 官方组件 | 官方 UI 组件与用户库内容分别定义 |
| 阶段命名 | 构建阶段为 Preflight,运行阶段为 inflight;名称本身不增加源码关键字 |
## 收录的语法提案
| 提案 | 正文位置 | 说明 |
| --- | --- | --- |
| 词法与字面量 | [第 6 章](../guide/06-lexical-structure.md) | 本书统一采用的标识符、字符串、数字和符号形式 |
| 类字段与类型标注 | [第 7 章](../guide/07-types-and-classes.md) | class 目标已确定,字段和类型体系仍为具体写法提案 |
| 表达式与 let | [第 8 章](../guide/08-expressions-and-bindings.md) | 基础运算、成员访问与局部绑定 |
| function 与 return | [第 9 章](../guide/09-functions-and-calls.md) | 函数签名、基本函数体与调用组合 |
| Product.get | [第 10 章](../guide/10-data-access.md) | 读取体验提案,不是 class 自动附带的 API |
| 场景与组件 | [第 11、12 章](../guide/11-scenes-and-render-trees.md) | scene、render、参数、布局与默认值 |
程序声明组合与[形式文法](formal-grammar.md)同样属于设计稿。正文中的陈述定义这些提案内部的用法,不将其确定程度提升为最终规范。
## 身份与权限
尚未定义:
- 用户名的字符、长度、大小写、Unicode 归一化及身份范围扩展。
- handle 改名、旧名称复用、历史引用稳定性及账号生命周期。
- 代码的默认公开性、读取与执行权限,以及 namespace 权限继承。
- 协作、Agent 委托、操作身份记录与归属转移。
定位信息不构成授权,是这些规则必须保留的边界。
## 引用与代码视图
尚未定义:
- 代码段的语法边界、视图成员范围和下级 namespace 的纳入方式。
- use 的作用范围、声明可见性、限定名、别名与同名冲突。
- 视图顺序、版本选择、成员一致性及编辑操作映射。
- key 的传递编码和索引关联机制。
正文跨 namespace 示例采用目标声明可见、名称可直接解析且无冲突的条件;该条件不代替正式名称查找规则。
## 声明与类型
尚未定义:
- 程序入口、空代码视图、多个场景的选择与顶层绑定。
- 完整基础类型、数值范围、可选值、泛型及类型转换。
- 类构造、方法、默认值、继承和字段可见性。
- 重复声明、完整控制流、可变性、赋值和作用域细节。
本文简单函数体仅收录 let 与末尾 return,不意味着整门语言只允许这两种语句。
## 词法与表达式
尚未定义:
- 完整保留字集合、Unicode 版本与字符类别边界。
- 换行字符、字符串扩展转义、更多字面量和运算符。
- 数值溢出、除法、隐式转换与所有调用参数的求值顺序。
正文中同级二元算术运算的组合顺序属于表达式提案,不规定所有调用的执行顺序。
## 调用与数据
尚未定义:
- 显式等待、失败处理、缺失值、取消和超时的源码形式。
- 数据读取成员的声明、参数与结果类型。
- 一次结果、持续结果及其更新语义。
- 带业务修改的调用顺序、重复执行限制与失败行为。
- 更新代码时已有调用使用哪个版本。
正常结果必须符合声明,未就绪或失败不能伪造为成功结果。Product.get 示例只展示成功路径。
## UI
尚未定义:
- 官方组件库的 key、显式引用形式与名称可见性。
- 命名参数和位置参数的完整绑定规则及重复传参处理。
- 渲染中的调用、状态、数据绑定、事件与更新。
- 布局单位、参数范围、负数、显式尺寸、约束与溢出。
- 主题、样式、文字测量和其他组件。
正文的官方组件示例省略未定义的依赖部分,不承诺免导入使用。
## Agent
Agent 是规划应用领域。声明、能力、工具、上下文、任务、生命周期、权限及模型驱动行为的边界尚未定义。
## 规范范围
本文定义源码及应有的语言效果。云端实体、持久化类、自动建表、通信、缓存、部署和编排实现不在本阶段规范中。
S3 约定仅用于代码存储,不规定业务数据后端。Preflight 与 inflight 的职责不要求特定机器码、执行图或部署产物。
[目录](../README.md)