65 lines
5.4 KiB
Markdown
65 lines
5.4 KiB
Markdown
# Endorphin 语言文档
|
||
|
||
Endorphin 是一门面向云原生应用的编程语言,使用统一的对象与资源模型描述前端界面、数据结构、后端逻辑和 agent。类型本身也是对象,Object 与 Type 构成实例化和继承的基础闭环。平台按具体类型管理对象的生命周期,变量引用资源,开发者和 agent 组织对象、表达式与调用关系,客户端根据资源或结果的类型呈现内容。
|
||
|
||
## 阅读指南
|
||
|
||
正文按概念的依赖顺序编排。首次阅读从第 1 章开始;查询具体写法时,可以直接进入相应章节。每章包含概念定义、语法、示例和行为说明。
|
||
|
||
本书为语言设计稿。资源归属 workspace,key 使用 workspace handle 与 namespace 路径;用户以成员角色参与协作。权限操作区分资源编辑与程序使用,函数、类型、数据读取与 UI 的具体写法按所标注的设计状态使用。各主题的确定程度记录在[规范状态](appendices/specification-status.md)。
|
||
|
||
## 正文
|
||
|
||
### 第一部分:语言与程序模型
|
||
|
||
1. [语言概览](guide/01-overview.md) — 语言用途、核心概念与应用模型。
|
||
2. [用户身份与 workspace 权限](guide/02-user-identity.md) — 用户、workspace、成员角色、rwx 与代码可视域。
|
||
3. [namespace](guide/03-namespaces.md) — Workspace key、层级、归属与视图。
|
||
4. [程序结构与导入](guide/04-program-structure.md) — 三类声明的组合、内部成员、use 与可视域。
|
||
5. [Preflight 与 inflight](guide/05-preflight-and-inflight.md) — 定义与运行时生命周期、检查及解释执行的职责。
|
||
|
||
### 第二部分:基础语法
|
||
|
||
6. [词法结构](guide/06-lexical-structure.md) — 标识符、字面量、符号、标点和注释。
|
||
7. [资源、类型与类](guide/07-types-and-classes.md) — 类型与实例、资源 atom、具体类型与 class;[Object 与类型系统](guide/07-top-level-types/README.md)解释 Object/Type 闭环、实例化线、继承线及资源 ID。
|
||
8. [表达式与绑定](guide/08-expressions-and-bindings.md) — 求值、运算、成员访问、let 与可变资源引用。
|
||
9. [函数与调用](guide/09-functions-and-calls.md) — 函数声明、返回值和跨 namespace 组合。
|
||
|
||
### 第三部分:应用用法
|
||
|
||
10. [数据读取](guide/10-data-access.md) — 通过类型取得数据及结果状态。
|
||
11. [资源访问与呈现](guide/11-resource-access-and-presentation.md) — 查看与调用、按类型呈现,以及平台对象、本地副本与跨端同步。
|
||
12. [UI 组件](guide/12-ui-components.md) — Column、Row、Spacer 和 Text 的参数与效果。
|
||
13. [Agent](guide/13-agents.md) — 共有成员、tools、memory、state、路由、中断与上下文管理。
|
||
14. [交互式会话(REPL)](guide/14-repl.md) — 会话上下文、输入求值、对象查看与远程状态的设计提案。
|
||
|
||
## 附录
|
||
|
||
- [术语表](appendices/glossary.md) — 语言术语的简要定义与章节索引。
|
||
- [形式文法](appendices/formal-grammar.md) — 集中查询 EBNF 产生式。
|
||
- [代码存储与视图](appendices/code-storage-and-views.md) — 独立代码段、S3 与索引的组织约定。
|
||
- [应用领域](appendices/application-domains.md) — UI、业务逻辑、数据访问和 Agent 的适用范围。
|
||
- [规范状态](appendices/specification-status.md) — 已确定约定、语法提案及未定义的边界。
|
||
|
||
### 补充参考
|
||
|
||
- [其他语言的关键词分类与逐词说明](appendices/language-keywords.md) — Python、JavaScript、TypeScript、Java、C、C++、C#、Go、Rust、Swift、Kotlin、Julia 的关键词用途与区别,供跨语言学习和设计比较查阅。
|
||
- [12 门语言的执行模型与生命周期](appendices/language-runtime-lifecycles.md) — 逐门比较执行入口、定义与上下文、任务调度、等待恢复及资源清理。
|
||
- [框架如何接管代码执行](appendices/framework-runtime-lifecycles.md) — 从具体动作追踪普通进程、FastAPI、Spring Boot、Unity、React 与 Node/Chromium,并整理 Endorphin 执行模型的研究维度。
|
||
|
||
比较执行机制时,先阅读统一分析模板,再从熟悉的语言进入对应框架案例;这些外部机制不自动成为 Endorphin 的语言规则。
|
||
|
||
## 记法
|
||
|
||
源码以 `endorphin` 代码块展示,文法以 `ebnf` 代码块展示。源码中的关键字和名称区分大小写;语言阶段名称固定为 `Preflight` 和 `inflight`。
|
||
|
||
“代码归属”写在代码块之前,用于说明外部上下文,不属于源码。函数体片段会注明使用位置,资源访问与界面结构示意使用 `text` 代码块,不表示新增源码语法。示例中的用户和 namespace 为示意名称。
|
||
|
||
函数示例围绕商品定价展开:`atelier:shop.pricing` 提供定价逻辑,`market:shop.checkout` 组合它,`market:shop.ui` 表达界面;数据读取示例使用 `atelier:shop.data`。atelier 与 market 是 workspace handle,后面的路径表示代码组织,不指定执行位置。
|
||
|
||
## 文档维护入口
|
||
|
||
编写或修改本书时,从[文档编写手册](authoring/README.md)开始,并按 [endor-docs skill](authoring/SKILL.md)选择本次任务。手册提供任务流程、语言核对方法、完整改写案例、稳定编号规则和验收标准。它服务文档作者;语言学习仍按上面的正文目录进行。
|
||
|
||
[贡献与跨电脑协作](CONTRIBUTING.md)说明维护约定和本地检查;[检查工具](tools/README.md)提供无需第三方依赖的结构验证。
|