1 个不稳定版本
0.0.1 | 2024年6月11日 |
---|---|
0.0.0 |
|
15 在 #pulsar
225KB
5K SLoC
pulsar
Pulsar 是构建硬件加速器的高级编程语言。目前,我正在努力实现一个 calyx 后端。由于我尚未确定它应该如何专业化,它目前是一个非常通用的语言(但所有 ADL 在实践中都是 DSL)。
语法是 Swift 的一个非常明显的克隆,并进行了一些修改,它也是一个非常多的 WIP。
func increment(x: Int) -> Int {
return x + 1
}
func main() {
let input = [1, 2, 3, 4]
let output = map<1>(increment, input)
}
编译器通过 verilator(一个硬件仿真工具)进行端到端测试。
Crates
pulsar-lang
: 编译器驱动程序pulsar-utils
: 为pulsar-*
crates 提供的实用工具pulsar-frontend
: 解析器/AST 和类型检查pulsar-ir
: 结构化和非结构化 IRpulsar-backend
: 目标输出,例如 Verilog(通过 calyx)
依赖项
~7–19MB
~208K SLoC