跳转至

概览

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),在编译期消除单位换算错误。
  • 假设与约束: 使用 assumewhere 强化类型系统和优化器。

详见 单位系统函数与纯度

4. 显式权限管理

所有涉及系统调用的 act 函数必须声明其权限。通过这种方式,代码的副作用路径在静态阶段就清晰可见。

详见 副作用权限系统

当前状态

目前 Lumos 处于纯文档设计阶段。我们正在积极完善语言规范(docs/),并探索最佳的编译器实现路径。

注:本项目源码部分(src/, include/)为旧版试验性代码,目前已废弃,开发重点已转移至语言设计策略。