Vix

赋予每个人构建简洁、
可靠且高效系统软件的能力。

fn find(arr: [i32], target: i32): ?i32 {
    for (i in 0 .. arr.length) {
        if (arr[i] == target) {
            return Some(i)
        }
    }
    return None
}

fn main(): i32 {
    let arr = [10, 20, 30, 40, 50]

    match find(arr, 30) {
        Some(idx) -> print("Found at index: ", idx)
        None      -> print("Not found")
    }

    match find(arr, 99) {
        Some(idx) -> print("Found at index: ", idx)
        None      -> print("Not found")
    }
    return 0
}

为什么选择 Vix?

编译即优化

基于 LLVM 后端,Vix 在编译期完成大量优化。没有沉重的运行时负担,生成的二进制文件精简高效,启动速度毫秒级。

模式匹配与 ADT

原生支持代数数据类型和强大的 match 表达式,让状态处理变得直观且穷尽。编译器会提醒你漏掉的每一种情况,而不是在运行时崩溃。

可控的底层能力

需要操作原始内存?Vix 提供指针运算和手动内存管理的能力。不需要时,现代化的语法和类型系统帮你远离段错误。

用 Vix 构建应用

Vix 目前处于积极开发阶段(v0.2.1),核心语法和类型系统已经可用。以下是一些你可以尝试的方向,更多示例请参考官方仓库。

算法与数据结构

用 Vix 的经典语法实现链表、树和排序算法,感受模式匹配带来的清晰逻辑表达。

浏览示例

系统工具

编写文件处理器、文本分析器或小型 CLI 工具。Vix 的编译速度和高性能运行时让工具开发事半功倍。

浏览示例

探索语言特性

从泛型到指针运算,从结构体到可选类型。示例代码覆盖了 Vix 当前支持的核心特性。

浏览示例

加入生态系统

依靠 XPM 包管理器,项目的依赖解决、编译与分发变得异常简单。我们欢迎您对生态和编译器的贡献。