Lobsters | 原文链接 | 2026-09-15 收录

面向底层编程的高层接口:用 BQN 实现的 SIMD 领域语言

来源: github.com — 2026-09-13

概述

Singeli 是一门用来构建高性能算法的领域特定语言,包括 SIMD 代码,它用 BQN 实现,前端产生 IR,后端把 IR 转换为 C。作者 Marshall Lochbaum 认为 IR 足够简单,将来支持 LLVM 或机器码后端也不难。语言的核心是「生成器」:用花括号声明参数,作用类似 C 宏、C++ 模板或泛型,但在编译期展开、支持递归与词法作用域,构成图灵完备的语言;连 + 这样的运算符都不是内置,而是用户自己声明优先级与前缀/中缀的生成器。生成器可以按类型与条件逐条收窄定义,匹配时从当前作用域往回搜索第一条适用的定义。运行期代码则是命令式风格,if、else、while 齐备,迭代推荐用可定义的 for-each 机制:@for (src,dst over i from 0 to len) 这样的写法会在循环外把变量当指针、循环内当单个值处理,由 iter 生成器完成索引转换并按需回写内存。目前它在 CBQN 中已有约五千行生产代码,核心语言稳定,标准库中较复杂的 SIMD 指令仍在打磨。

核心要点

金句

Singeli 首先是一门元编程语言——它的目的是围绕 CPU 指令构建抽象,以生成大量特化代码。
返回 Lobsters 首页