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