备份语言规范、顶级类型与运行时设计草稿
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
一个 namespace 的代码视图由导入和声明组成。声明描述类型、逻辑、agent 或界面;导入使代码能够引用其他 namespace 中允许使用的声明。基础内容也可作为资源归属到 namespace,但其登记方式不由代码视图文法定义。
|
||||
|
||||
## 4.1 正文结构
|
||||
## 4.1 程序结构
|
||||
|
||||
本文采用的程序结构为:
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
一个或多个 class、function 或 agent 声明
|
||||
```
|
||||
|
||||
声明之间不使用逗号或分号。正文不含自身 namespace 声明,其归属来自外部 key 与索引。
|
||||
声明之间不使用逗号或分号。源码不含自身 namespace 声明,其归属来自外部 key 与索引。
|
||||
|
||||
“一个或多个”表示同一代码视图可以包含任意数量的这三类顶层声明,至少包含一个;不要求每类各出现一次,也不要求一个 namespace 只保存一个定义。
|
||||
|
||||
@@ -22,11 +22,13 @@
|
||||
| 一个或多个 agent | 一组模型驱动的行为定义 |
|
||||
| 三类声明混合 | 类型、普通逻辑和 agent 共同组成程序 |
|
||||
|
||||
顶层声明与内部成员是不同位置。class 内的成员函数仍是 function,但属于类的成员作用域;agent 内的变量、函数或类型也保留其共有语义,并与 agent 实例或运行职责关联。内部成员不会仅因使用相同关键字自动成为 namespace 的顶层成员。
|
||||
class 和 agent 构造出的具体类型对象属于 Type;Function 对象保存可调用逻辑。构造入口自身也属于对象体系,这些源码形式不预先规定它们是保留关键字。
|
||||
|
||||
顶层定义与内部成员是不同位置。class 内的成员函数仍是函数对象,但属于类的成员作用域;agent 内的变量、函数或类型也保留其共有语义,并与 agent 实例或运行职责关联。内部成员不会仅因采用相同构造形式自动成为 namespace 的顶层成员。
|
||||
|
||||
这里描述代码视图中的声明结构,不表示查看视图就实例化全部 class、启动全部 agent 或执行全部函数。函数体里的 let 和 return 仍遵守函数体规则,图片、文本等非代码资源的登记也不靠增加占位 class 或 function 表达。
|
||||
|
||||
agent 是语言声明,内部复用共有成员结构并增加 agent 作用域及运行关联。声明骨架仍为提案;工具、记忆和控制关联的具体写法见[Agent](13-agents.md)。
|
||||
agent 构造具有名义身份的具体 Agent 类型对象,内部复用共有成员结构并增加作用域及运行关联。构造记法、工具、记忆和控制关联的具体形式仍为提案;其运行职责见[Agent](13-agents.md)。
|
||||
|
||||
这是一份逻辑代码视图的语法结构,不规定独立代码段的存储粒度或物理排列。代码段边界及视图组装规则见[代码存储与视图](../appendices/code-storage-and-views.md)。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user