DeepLang

面向 AIoT 与边缘 AI 的内存安全编程语言

DeepLang 是一种现代、内存安全的编程语言,专为资源受限的 AIoT 和边缘 AI 环境设计。采用 C 风格语法、强静态类型系统和无缝 WASM 编译,助力开发者在边缘端构建安全、高效、可移植的智能应用。

语言特性

为 AIoT 与边缘 AI 开发而生,兼顾安全与生产力

🛡️

内存安全

借鉴 Rust 的所有权与借用检查机制,在编译期杜绝空指针解引用、缓冲区溢出和 use-after-free 等内存错误——这对可靠的边缘 AI 推理至关重要。

🔒

强静态类型

丰富的类型系统,支持代数数据类型(ADT)、模式匹配、接口和类型推断。形式化类型检查器在代码运行于设备之前确保正确性。

📝

C 风格语法

熟悉的 C/C++ 风格语法,容易上手。花括号、分号和熟悉的控制流结构。

🧩

多范式编程

同时支持过程式、面向对象(通过接口实现)和函数式编程范式,融于一体。

🔌

接口系统

基于接口的静态分发多态——无虚表、无运行时开销。行为与数据的清晰分离。

🎯

模式匹配

丰富的模式匹配系统,支持 ADT、元组、结构体和字面量的解构,编译期穷举性检查。

编译器与类型系统

基于 OCaml 实现的编译器前端,目标为 WebAssembly

DeepLang 编译器前端使用 OCaml 实现,借助其强大类型系统保证编译器自身的正确性。它通过多阶段流水线将 DeepLang 源码编译为 WebAssembly——适用于边缘设备的通用运行时。

1
词法分析
源码 Token 化
2
语法解析
构建抽象语法树
3
语义遍历
类型检查与符号解析
4
ANF 转换
基于 CPS 的规范化
5
WAT 代码生成
生成 WASM 文本格式

类型系统亮点

  • 形式化类型检查器,支持 ADT 穷举性验证
  • 模式匹配编译到 ANF 分支结构
  • 接口方法表合并,支持继承
  • Bump Allocator 内存模型,可预测延迟
  • 编译到 WASM,实现可移植的边缘部署

一试便知

代数数据类型 + 模式匹配 + 接口 —— 感受 DeepLang 的核心魅力

geometry.dp
// 代数数据类型:几何形状
type Shape [
    Rectangle(width: F64, height: F64),
    Circle(radius: F64),
    Nothing
]

// 接口:计算面积
interface Area {
    fun area(this) -> F64;
}

// 通过模式匹配为 Shape 实现 Area 接口
impl Area for Shape {
    fun area() -> F64 {
        match (this) {
            Rectangle(w, h) => { return w * h; }
            Circle(r)       => { return 3.14159 * r * r; }
            Nothing         => { return 0.0; }
        }
    }
}

fun main() -> () {
    let rect: Shape = Rectangle(3.0, 4.0);
    let circ: Shape = Circle(2.5);
    print(rect.area().toString());  // 12.0
    print(circ.area().toString());  // 19.6349
}

DeepVM

为 AIoT 边缘设备量身定制的轻量级虚拟机

DeepVM 是驱动 DeepLang 在嵌入式和边缘 AI 设备上运行的虚拟机。拥有超紧凑的体积和原生 WASM 支持,能在微控制器和 AIoT 芯片上安全、高效地执行代码。

≤ 100 KB ROM 占用
≤ 50 KB RAM 占用
原生 WASM 支持
内置 交互式 REPL

支持芯片

  • 乐鑫 ESP32 (AIoT)
  • 华为 HI3861
  • 龙芯 1C0300B

团队

来自顶尖高校的学生和研究者

浙江大学 (ZJU)
核心贡献者
中国科学技术大学 (USTC)
核心贡献者
帝国理工学院 (ICL)
核心贡献者

有兴趣参与贡献?欢迎新成员加入!