Files
Endorphin-Document/README.md
T

65 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)提供无需第三方依赖的结构验证。