安全作为基础
设计明确的所有权、借用与资源释放规则。普通代码受到安全约束,裸指针、外部接口和底层操作通过显式边界表达。
Kelyra 致力于成为一门默认安全、性能可预测的系统编程语言,将 CPU 原生程序、GPU Shader 与 C 生态连接起来,让人和 AI 都能理解、检查和维护代码。
早期设计与原型阶段 · 以下能力为设计目标
系统编程需要对内存、布局、并行和硬件能力保持控制。Kelyra 希望将这些控制与清晰的安全边界结合,让程序的行为可以解释,修改的影响可以审查。
设计明确的所有权、借用与资源释放规则。普通代码受到安全约束,裸指针、外部接口和底层操作通过显式边界表达。
让分配、复制、布局和并发的成本可见。不强制依赖追踪式垃圾回收,以实际程序和基准验证抽象的代价。
追求一致的语法、明确的接口和可定位的诊断,为人工审查、自动化工具与 AI 辅助开发提供共同依据。
从获取依赖到运行原生程序,从主机内存到 GPU 资源,语言与工具链共同描述程序的输入、能力和约束。
通过统一清单与命令管理依赖、构建、测试和打包。固定依赖版本与工具链输入,让离线构建和可复现验证成为工作流的一部分。
以 Windows、Linux、macOS 及多种 CPU 架构为长期方向,明确区分各平台的支持程度。专用硬件能力通过显式声明和检查使用。
面向 AOT 原生编译,提供对数据布局、分配器、值传递和向量运算的控制。以吞吐量、延迟、内存和编译耗时共同衡量表现。
通过双向 C ABI 复用现有库,并向外部程序提供接口。为汇编、回调和跨语言资源管理明确调用约定、生命周期及错误边界。
提供机器可读的诊断、源码范围,以及符号、类型和引用查询。让自动化修改有可检查的契约,并以独立测试验证修改结果。
目标是用 Kelyra 编写顶点、片元和计算 Shader。CPU 与 GPU 共享兼容的模块和类型表达,同时明确执行域、数据布局与同步规则。
围绕系统线程、作用域任务和数据并行建立一致的资源规则。明确共享数据、取消和任务结束时的责任,检查跨线程访问的合法性。
Kelyra 的首版目标是形成可运行的端到端路径,让各项能力在同一个程序中协作,并接受正确性与性能验证。
一个代表性程序可以调用 C 库解码资源,使用 CPU 任务并行准备数据,再通过 Kelyra Shader 完成绘制与计算。主机和 GPU 的接口布局保持一致,任务结束后正确等待并回收资源。
这是一条计划中的验收路径。语言也面向非图形系统程序,覆盖复杂数据结构、资源管理与批量处理。
项目已建立 CMake 构建基础并接入 LLVM / MLIR,当前最小程序可以创建并输出一个空的 MLIR 模块。语言语法、类型系统和安全模型仍在设计中,尚不能编译 Kelyra 源程序。
下面是设计草案中的阶段规划,不代表已经交付,也不承诺发布时间或完整的平台覆盖。
验证值与资源规则、模块与错误语义,探索基础 CPU 程序、C 接口及 Shader 子集。
围绕代表性程序串联七项目标,验证跨平台运行、受限安全模型、图形计算和作用域并行。
逐步扩展架构和图形后端,改善增量分析、调试与异步能力。
在实践基础上形成版本迁移、兼容性策略和成熟的发布流程。