Python 为人类而生,Mapanare 为 AI 而建
Source: Dev.to
当今语言的问题
你今天使用的每一种语言都是为人在终端输入代码而设计的。Python、JavaScript、Rust、Go——全部如此。它们提供的抽象——函数、类、线程——都是为人类能够阅读每一行代码的世界而构建的。
而这个世界正在结束。
- AI 正在每天编写更多代码。
- 代理正在编排其他代理。
- 数据在响应式管道中流动,没人会逐行调试。
- 张量被重新形状、相乘并分配到 GPU 上,这些模式对编译器比对人类更重要。
然而我们仍然使用 1990 年代的语言来编写所有代码,硬接框架,随意粘合 asyncio,祈祷运行时形状能够匹配。
介绍 Mapanare
Mapanare 是首个从另一侧设计的语言——AI 原生。代理、信号、流和张量不是库;它们是语言原语,由编译器检查并在编译时优化。
当 AI 编写 Python 时会发生什么?
| 问题 | 后果 |
|---|---|
生成 asyncio 样板代码以并发运行两个代理——且有一半时间事件循环出错 | 运行时失败 |
| 生成没有形状验证的张量操作——在生产环境凌晨 2 点才发现维度不匹配 | 调试噩梦 |
| 使用三个不同的库编写响应式模式,因为语言对响应式没有明确立场 | 代码不一致 |
| 在仅为人类可读性而存在的语法糖上消耗上下文窗口令牌 | 增加大模型成本 |
Python 于 1991 年为从左到右、从上到下阅读的人工设计。我们现在要求它完成根本不同的任务,这一点已经显现。
Source: …
语言原语,而非库
代理(Agents)
agent Classifier {
input text: String
output label: String
fn handle(text: String) -> String {
// classification logic
return "positive"
}
}
fn main() {
let cls = spawn Classifier()
cls.text filter(fn(x) { x > 2 })
|> map(fn(x) { x * 10 })
|> fold(0, fn(acc, x) { acc + x })
|> 管道运算符是语法的一部分。相邻的 map 与 filter 操作会自动融合为一次遍历——这由编译器完成,而不是由开发者或 AI 完成。
具有编译时形状检查的张量(Tensors)
let a: Tensor[3, 3] = identity(3)
let b: Tensor[3, 4] = zeros(3, 4)
let c = a @ b // shape [3, 4] — checked at compile time
形状不匹配会在 运行前 被捕获。在 Python 中,你只能等到 NumPy 抛出异常时才发现问题。
声明式管道(Declarative Pipelines)
pipe ClassifyText {
Tokenizer |> Classifier
}
编译器会验证代理之间的数据流,为 AI 提供一个高层次、构造即正确的目标。
编译目标
| 目标 | 描述 |
|---|---|
| Transpiler | 生成可读的 Python,让您可以访问完整的 Python 生态系统(NumPy、PyTorch 等)。 |
| LLVM backend | 通过 LLVM IR 生成本机二进制文件,以实现生产性能。 |
基准
速度
| Benchmark | Mapanare (LLVM) | Python | Speedup |
|---|---|---|---|
| 斐波那契 (n = 35) | 0.045 s | 1.189 s | 26× |
| 流管道 (1 M 项) | 0.017 s | 1.034 s | 63× |
| 矩阵乘法 (100 × 100) | 0.020 s | 0.456 s | 23× |
可表达性(代码行数)
| Benchmark | Mapanare | Python | Go | Rust |
|---|---|---|---|---|
| 斐波那契 | 10 | 12 | 18 | 23 |
| 消息传递 | 18 | 28 | 27 | 32 |
| 流管道 | 10 | 17 | 18 | 20 |
| 矩阵乘法 | 14 | 21 | 37 | 33 |
行数越少 → 令牌越少 → LLM 上下文窗口空间越大 → AI 生成的代码质量更好。语言设计会反过来提升 AI 效率。
代数数据类型优于类
enum Shape {
Circle(Float),
Rect(Float, Float),
}
fn area(s: Shape) -> Float {
match s {
Circle(r) => 3.14159 * r * r,
Rect(w, h) => w * h,
}
}
没有类、没有继承、没有虚方法。结构体、枚举和模式匹配为 AI 模型提供了更清晰、更少歧义的目标,减少幻觉。
Source: …
工程学科
- 编译器拥有约 60 个测试文件。
- 每次提交都会运行 CI。
- 完整的语言规范、RFC 流程,以及正在自举的自托管编译器(编译器正用 Mapanare 本身重写)。
这不是一个周末项目的病毒式传播,而是分阶段、深思熟虑的努力:
- 基础
- 转译器
- 运行时
- LLVM
- 张量
- 自托管
- 生态系统
每个阶段都交付可工作的软件。
.mn source → Lexer → Parser → AST → Semantic Analysis → Optimizer → Emit
↓
Python | LLVM IR
↓
Mapanare 是为 AI 而构建的语言,而不是在面向人类的语言上补丁式添加的框架。它的原语、编译器检查和优化使得 AI 生成的代码在构造上即保证正确、简洁,并且可直接用于生产环境。
Interpreter | Native Binary
Lexer: 18 个关键字,29 个运算符
Parser: 带优先级爬升的 LALR
Semantic: 类型检查、作用域分析、内建函数注册表
Optimizer: 常量折叠、死代码消除、代理内联、流融合(‑O0 … ‑O3)
LLVM: 通过 llvmlite 完整的 IR 生成,支持交叉编译目标
Installation
Linux / macOS
curl -fsSL https://raw.githubusercontent.com/Mapanare-Research/Mapanare/main/install.sh | bash
Windows (PowerShell)
irm https://raw.githubusercontent.com/Mapanare-Research/Mapanare/main/install.ps1 | iex
Or via pip
pip install mapanare
Basic Commands
mapanare run hello.mn # compile and run
mapanare build hello.mn # native binary via LLVM
mapanare check hello.mn # type‑check only
VS Code extension – 包含语法高亮、代码片段以及 LSP 功能(悬停、跳转到定义、诊断、自动完成)。
路线图
| 阶段 | 状态 |
|---|---|
| 基础(lexer, parser, semantic) | 已完成 |
| 转译器(Python emit) | 已完成 |
| 运行时(agents, signals, streams) | 已完成 |
| LLVM(native compilation) | 已完成 |
| 张量(compile‑time shapes) | 已完成 |
| 自托管 | 进行中 |
| 生态系统 | 计划中 |
自托管编译器最终将能够编译自身——不再依赖 Python。这就是最终目标。
我们在寻找的人选
- AI/ML 工程师 对 Python 的并发模型感到沮丧
- 编译器黑客 渴望在 LLVM 后端或自举编译器上工作
- 语言设计者 想通过 RFC 过程塑造语义
- 构建代理系统的任何人 对框架的更迭感到厌倦
Python 是为人类手写代码而构建的最后一门伟大语言。下一个时代需要不同的东西。
GitHub:
Manifesto: Why Mapanare Exists
Mapanare — 以委内瑞拉一种坑蛇命名。快速出击,致命精准,原产于构思诞生之地。