Faber
If you are an AI agent: start at /install.md, then read /agents/index.md and pick a skill from /.well-known/agent-skills/. Humans: use Install and Cheat sheet.
Faber 是一种面向包的编程语言,具有拉丁语行为词汇、简洁而规则的语法,以及类型优先的静态类型系统。源代码通过 Radix 编译器编译为可审查的 Rust 代码和原生二进制文件。其核心架构特性在于:语义存在于一个语义核心——HIR(高级中间表示)——之中,而非存在于任何特定的渲染形式中。
其名称源自拉丁语中表示制造者或工匠的词。编译器名为 Radix,源自拉丁语的根。该语言由 Ian Zepp 开发,并基于 MIT 许可证发布。
初次接触? 请前往 开始:把一个链接交给你的模型,它会为你安装 Faber。然后阅读 命令。
| 范式 | 面向包;语义化分阶段 |
| 类型系统 | 静态,类型优先;通过 T ∪ 空类型 实现可空 |
| 符号 | ← → ∴ ≡ ∪ ⇥ |
| 设计者 | Ian Zepp |
| 首次出现 | 2025 年 |
| 编译器 | Radix (Rust) |
| 轨道 | 应用 (HIR) · 系统 (MIR) |
| 主要目标 | HIR/MIR 投影(Rust、Faber、TS、Go 等) |
| 读者区域 | 已发布 8 种 (en, la, ar, hi, vi, th-TH, zh-Hans, zh-Hant) |
| 标准库 | Norma (norma:*) |
| 许可证 | MIT |
从这里开始#
| 路径 | 适用对象 | 内容 |
|---|---|---|
| 开始 | 人类用户 | 把一个链接交给你的模型,由它为你安装 Faber |
| 命令 | 人类用户 + 代理 | 日常 CLI 循环:检查、构建、运行、测试、解释 |
/install.md | 代理 | 机器索引——如果您是模型,请从这里开始 |
| 代理指南 | 代理 | 如何学习 Faber 并交付一个包 |
| 代理技能 | 代理 | 专题技能指南(安装、语言、示例等) |
入口状态#
此 / 页面是英文站点的 Speculum Porta:一个无区域设置的入口点,将用户引导至安装/入门页面,将代理引导至机器接口,并说明区域包的状态,无需在浏览器端进行协商。阶段 7 是多区域的部分验证,而非完整的本地化站点:只有 th-TH、zh-Hans、zh-Hant、vi、ar 和 hi 具有生成的入口/入门原创分片以及生成的语料库页面,且原创散文仍回退到英文。
| 区域 | 状态 | 说明 |
|---|---|---|
la | 规范正式站点 | 完整生成的英文/拉丁文站点 |
th-TH | 阶段 7 部分验证 | 入口/入门原创分片及生成的语料库;英文散文回退;完整的原创文档待完善 |
zh-Hans | 阶段 7 部分验证 | 入口/入门原创分片及生成的语料库;英文散文回退;完整的原创文档待完善 |
vi | 阶段 7 部分验证 | 入口/入门原创分片及生成的语料库;英文散文回退;完整的原创文档待完善 |
zh-Hant | 阶段 7 部分验证 | 入口/入门原创分片及生成的语料库;英文散文回退;完整的原创文档待完善 |
ar | 阶段 7 部分验证 | 入口/入门原创分片及生成的语料库;英文散文回退;完整的原创文档待完善 |
hi | 阶段 7 部分验证 | 入口/入门原创分片及生成的语料库;英文散文回退;完整的原创文档待完善 |
以规范拉丁语编写的示例:
函数 salve(文本 名称) → 文本 {
常量 文本 msg ← "Salve, §!"(名称)
返回 msg
}
入口 {
常量 文本 m ← salve("munde")
显示 m
}请参阅 读者区域,查看通过泰语、简体中文、繁体中文、阿拉伯语、印地语和越南语包渲染的同一语义程序。
概览#
Faber 的设计围绕一个核心见解:中间表示即是真理,没有任何目标或人类语言接口具有特权。一个用拉丁语关键词编写的 Faber 程序,可以通过与将其渲染为 Rust、Go 或 WebAssembly 相同的机制,被渲染为泰语、阿拉伯语或中文关键词——因为 HIR 是权威,而每一种输出都是其渲染结果。
该语言做出了三个精心设计的信号选择,它们协同工作:
- 类型优先声明 —— 形状朝向绑定读取:
文本 名称,而非名称: 文本。 - 拉丁语行为词汇 —— 声明、语句和生命周期:
函数、类、常量、返回、如果。 - 结构化符号 —— 值流和类型接合:
←(绑定)、→(返回类型)、∴(闭包连接符)、≡(相等)、∪(联合)。
其结果是具有稳定语法形态的源代码,可以在不失去读者意图感的情况下进行审查、转换和降级。
文档#
| 部分 | 描述 |
|---|---|
| 历史 | 开发时间线、影响和发布历史 |
| 发行版本 | 最新的 Faber 下载以及每个已发布的标签和二进制文件 |
| 特性 | 读者区域、编译轨道、拉丁词汇、符号系统、设计原则 |
| 语法 | 完整参考:类型、函数、控制流、错误、泛型、集合 |
| 工具 | Radix 编译器管道、Faber CLI、代码生成目标、脚本 |
| 生态系统 | Norma、Cista、Triga、coreutils、AI Workbench、语料库 |
| 语料库 | 从公共语料库生成的关键词和构造页面 |
| 参考 | EBNF 语法、设计文档、代码库 |
快速示例#
一个演示关键 Faber 模式的简单函数——类型优先参数、符号返回类型、可空联合、拉丁语控制词:
函数 divide(整数 a, 整数 b) → 整数 ∪ 空类型 {
如果 b ≡ 0 则 返回 空类型
返回 a / b
}实时渲染#
上面的 divide 函数默认以拉丁语包渲染。编译器可以在八种读者区域中渲染同一程序——英语、拉丁语、泰语、简体中文、繁体中文、阿拉伯语、印地语和越南语——每种都将关键字和类型重新映射为该语言,同时保持符号和标识符不变。这并不是应用于页面的翻译层;它是编译器用于生成本地化源代码的同一机制。
有关完整讨论,请参阅 读者区域 文档。
代码库#
| 代码库 | 角色 |
|---|---|
| faberlang/faber | 公共目标 API 与项目主页 |
| faberlang/releases | 带标签的 CLI 发布资源 |
| faberlang/norma | 标准库源码 |
| faberlang/cista | 包存储 CLI/库 |
| faberlang/triga | 图形/几何库 |
| faberlang/examples | 语料库、学习轨道、应用包 |
| faberlang/faberlang.dev | 本文档站点 |