概览¶
Lumos (光耀) 是一门专注于高性能、显式安全与现代化语法的系统级编程语言。
项目愿景¶
Lumos 旨在解决系统级编程中性能与开发效率、安全性之间的权衡问题。通过引入精细的函数纯度分类和严格的权限管理系统,Lumos 让开发者能够以前所未有的确定性构建复杂的系统软件。
核心特性¶
1. 显式函数纯度¶
Lumos 不使用通用的 fn,而是根据函数的副作用程度强制将其分类:
def: 绝对纯函数,无副作用,输出仅依赖输入。fun: 逻辑纯函数,允许内部状态修改,但对外界透明。act: 副作用函数,明确声明所需的系统权限(如io,net)。
详见 函数与纯度。
2. 现代化的变量系统¶
区别于传统的 const/mutable,Lumos 提供了更细粒度的控制:
val: 默认的逻辑不可变。var: 完全可变。imv: 物理不可变,存储在只读内存。lit: 编译期常量。lazy/late: 原生支持的延迟加载与手动初始化。
详见 变量与初始化。
3. 类型安全与约束¶
- 计量单位 (Measure): 原生支持物理单位(如
meter,second),在编译期消除单位换算错误。 - 假设与约束: 使用
assume和where强化类型系统和优化器。
4. 显式权限管理¶
所有涉及系统调用的 act 函数必须声明其权限。通过这种方式,代码的副作用路径在静态阶段就清晰可见。
详见 副作用权限系统。
当前状态¶
目前 Lumos 处于纯文档设计阶段。我们正在积极完善语言规范(docs/),并探索最佳的编译器实现路径。
注:本项目源码部分(
src/,include/)为旧版试验性代码,目前已废弃,开发重点已转移至语言设计策略。