作者: 一了 <[email protected]> 日期: 2026-07-24 Fun 语言能力光谱: 汇编指令 (mov, call, push) ↓ C 函数 (int sum(int n, int (*test)())) ↓ FFI 回调 (cb.@toCallback) ↓ 对象系统 (class Number, 操作符重载) ↓ 函数式 (lambda, 管道) ↓ 正则匹配 (split(/&/)) ↓ 数据转换 (map, fromPairs, toJson) ┌──────────────────┐ │ FUN 语言能力光谱(从极底层到极高) └──────────────────┘ 极底层 ▼ ╔═══════════════════════╗ ║ CPU / 内存 / 机器码 ║ - 字符串即内存(s.toNum(-1)、move/movs) ║ - 直接操作内存字节(s[0.5]、0.toChar().x(N)) ╚═══════════════════════╝ ▼ ╔═══════════════════════╗ ║ x86 汇编(lib-jit) ║ - 内联汇编(mov, call, push, ret) ║ - 宏汇编(@sum1ton)、占位符(<test>) ║ - FUN 函数转 C 回调(@toCallback) ║ - 执行汇编代码(jit.Run()) ╚═══════════════════════╝ ▼ ╔═══════════════════════╗ ║ C 语言 JIT(lib-jit) ║ - 内联 C 代码(#!C ii:i) ║ - 运行时编译并执行 C 函数 ║ - FUN 函数 → C 函数指针 → C 回调 ╚═══════════════════════╝ ▼ ╔═══════════════════════╗ ║ Windows API / COM(lib-cwinapi + lib-winole) ║ - FFI 调用(CWin32API) ║ - C 结构体映射(lib-cstruct) ║ - COM 对象创建(.newobj) ║ - COM 方法调用、属性读写(命名参数) ║ - COM 事件订阅(@toEvent) ╚═══════════════════════╝ ▼ ╔═══════════════════════╗ ║ 动态编译(lib-dyns) ║ - 文件编译('file.fun'.compile()) ║ - 字符串编译('?. 1+2;'.compile()) ║ - 内联编译(compile(inline: true)) ║ - 运行时加载和执行 FUN 代码 ╚═══════════════════════╝ ▼ ╔═══════════════════════╗ ║ 对象系统 / 元编程 ║ - class / fun(class 即 fun) ║ - 操作符重载(this['#'] = ...) ║ - 对象即 set($[1](3) 访问方法) ║ - 闭包、lambda(->) ╚═══════════════════════╝ ▼ ╔═══════════════════════╗ ║ 函数式 / 管道 ║ - lambda(f = a -> a * 2) ║ - 管道操作符(1+2|f+3|g) ║ - 函数组合(g(f(1+2)+3)) ║ - 高阶函数(map、filter、reduce) ╚═══════════════════════╝ ▼ ╔═══════════════════════╗ ║ 文本解析 / 正则 / BNF(lib-bnf + lib-regex) ║ - 正则匹配、替换、命名捕获组((?<name>...)) ║ - BNF → PCRE 巨正则生成 ║ - 区间树构建、栈式归约(actions) ║ - 上下文相关文法(长度前缀、缩进深度) ║ - FD 格式解析(20 行 BNF + 100 行 actions) ╚═══════════════════════╝ ▼ ╔═══════════════════════╗ ║ 应用层 / DSL(lib-set、lib-utils、lib-fd 等) ║ - 数据格式解析(FD、JSON、YAML) ║ - 查询解析(parseQuery: split | map | fromPairs) ║ - 模板引擎(lib-eval) ║ - 业务逻辑(直接写在 FUN 代码中) ╚═══════════════════════╝ ▼ 极高层的 DSL ▼ ┌──────────────────────────────┐ │ 核心理念:每一层都通过库(lib-*)实现,内核保持极简(327K) │ 统一数据模型:字符串即内存,set 即万物,统一数据结构 │ 统一调用约定:FUN 函数 - C 回调 - COM 事件 - 汇编指令 └──────────────────────────────┘