revo:一个用 Zig 打造、为编程乐趣而生的新动态语言
来源: revo.lung.fyi — 2026 上线
概述
revo 是一门用 Zig 0.16 编写、主打'编程乐趣'的动态语言(MIT 许可),官网首页以滚动 demo 展示其核心特性。数据流靠管道自上而下自然流动而无需嵌套;采用 errors-as-values,用原子(atom)取代 nil 与布尔,未经处理错误的值无法被使用,配合模式匹配、?、orelse 与 :unwrap();一切皆为表达式,代码却仍像过程式;任何表达式可在编译期执行(compile),并把任意值烤进字节码,编译期 VM 与运行时 VM 相同;具备 AST 替换宏与过程式宏;用 fiber 让阻塞代码加个 spawn 就变非阻塞;一切用 table 表示(模块导出、数组、映射都用它);类型系统可选但深度整合——无类型代码能跑,带类型更快、更好优化且能在编译期保证正确。还内置首类测试(测试即闭包,返回错误即失败)。语言自带 LSP、tree-sitter 高亮与 doc 生成器,可用 Zig/C 的两种 API 扩展或嵌入。
核心要点
- revo 强调'快乐编程':数据管道自上而下流动、一切皆为表达式且返回值的语言
- errors-as-values 用原子取代 nil/布尔,你无法不经处理就使用一个含错误的值
- 编译期执行是头等能力:任何表达式都能在编译时运行并把值烘进字节码,且编译期 VM 与运行时同一套
- 可选类型系统深度整合:未注解代码也能跑,加了类型则更快、优化更好、能在编译期保证正确
- 内置 fiber 让阻塞代码加个 spawn 即非阻塞;table 统一表示模块、数组与映射;测试即闭包返回错误即失败
- 语言内置 LSP、tree-sitter 高亮、doc 生成器,提供 Zig/C 两套 API 便于扩展与嵌入
金句
revo is a dynamic language made for the joy of programming.(revo 是一门为编程乐趣而生的动态语言。)
👍 0
👎 0
返回 Lobsters 首页