1个不稳定版本
0.0.1 | 2024年6月11日 |
---|---|
0.0.0 |
|
#12 in #pulsar
在 4 crates 中使用
35KB
810 行
pulsar
Pulsar是一种构建硬件加速器的高级编程语言。目前,我正在努力实现calyx后端。它目前是一个非常基本的语言,因为我还没有确定它应该如何进行特殊化(但所有ADLs在实践中都是DSLs)。
语法是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)
依赖关系
~0–9.5MB
~42K SLoC