diff --git a/README.md b/README.md index b6c8213..ba372db 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,9 @@ ## 项目写的是哪种 TypeScript? -具体地说, 是 ArkTS 风格约束的 TypeScript 严格子集方言, 具体地说: +具体地说, 是 ArkTS 风格约束的 TypeScript 严格子集方言, 具体地说, 它: - 兼容, 但不是 标准 TypeScript: 禁用 any、eval、Proxy、动态属性等 -- 兼容, 但不是 HarmonyOS ArkTS: 不依赖 HarmonyOS UI 扩展, 不依赖 ohos 平台 API -- 兼容, 但不是 Node.JS: 不依赖其提供的专有 API -- 兼容, 但不使用 npm: 不依赖任何外部包管理器 -- 不兼容, 且不是 AssemblyScript: 依赖动态数组与闭包, 动态分配 +- 兼容, 但不是 ArkTS, Node.JS 或任何一种运行时方言: 不依赖平台专有的接口, 亦不依赖任何外部包管理器 它是 TypeScript 的一个严格且可静态分析的子集, 目标是: - 高性能: 对象形状固定, 类型稳定, 利于 JIT/AOT 优化 @@ -20,13 +17,12 @@ ## 为什么使用 lisp 扩展? -这个想法来源于 emacs 的设计: 以数据驱动的方式扩展核心功能 +这个想法来源于 emacs 的设计: 数据驱动扩展核心功能 -不同于传统的插件系统或 "猴子补丁" 式脚本绑定, 我们采用 lisp 和 S-表达式作为克制且优雅的算法调度器扩展接口, 它带来了如下好处: +不同于传统的插件系统或 "猴子补丁" 式脚本绑定, 我们采用 lisp 方言及 S-表达式作为克制且优雅的算法调度器扩展接口, 它带来了如下好处: - 声明式配置: 所有扩展规则与策略均以数据形式表达, 而非命令式代码, 天然适合描述调度策略 -- 统一数据模型: 内核直接解释 lisp 扩展, 避免了复杂的 API 绑定和类型转换开销 -- 安全隔离: lisp 描述表达式, 而不包含可执行代码, 可防止代码注入攻击 -- 跨平台一致: lisp 解释器易于实现, 在所有目标平台上都有原生支持, 以便保持行为一致性 +- 安全隔离: lisp 调用内核 API 以描述调度策略与算法, 不包含可执行代码, 可防止代码注入攻击 +- 轻量一致: lisp 解释器易于实现且开销轻量, 避免了复杂的 API 绑定和类型转换开销, 可在所有平台保持行为一致性 ## 项目会取代 Python 版本吗?