Faber
If you are an AI agent: start at /llms.txt, then read /agents/index.md and pick a skill from /.well-known/agent-skills/. Humans: use Install and Examples.
Faber là một ngôn ngữ lập trình hướng gói với từ vựng hành vi bằng tiếng Latinh, ngữ pháp chính quy nhỏ gọn và hệ thống kiểu tĩnh ưu tiên kiểu. Mã nguồn được biên dịch qua trình biên dịch Radix thành mã Rust có thể xem xét và các tệp nhị phân native. Đặc tính kiến trúc cốt lõi của ngôn ngữ là ý nghĩa nằm trong lõi ngữ nghĩa — HIR (biểu diễn trung gian cấp cao) — thay vì trong bất kỳ dạng hiển thị cụ thể nào.
Tên gọi bắt nguồn từ từ Latinh maker hoặc craftsman. Trình biên dịch có tên Radix, bắt nguồn từ từ Latinh root. Ngôn ngữ được Ian Zepp phát triển và phát hành theo giấy phép MIT.
Bạn mới bắt đầu? Hãy bắt đầu với Cài đặt và tải xuống, sau đó đi theo lộ trình khởi đầu: Hello, Các lệnh và Dự án.
Tải xuống Faber 1.2.0#
Bản phát hành hiện tại: Faber 1.2.0 (thẻ faber-v1.2.0). Các gói CLI dựng sẵn cho macOS và Linux; giải nén tệp nhị phân
faber-v1.2.0-<target-triple>/faber rồi đặt nó trên PATH.
| Nền tảng | Gói lưu trữ | Mã kiểm tra |
|---|---|---|
| macOS arm64 (Apple Silicon) | faber-v1.2.0-aarch64-apple-darwin.tar.gz | sha256 |
| Linux x64 (glibc) | faber-v1.2.0-x86_64-unknown-linux-gnu.tar.gz | sha256 |
Cài đặt nhanh (ví dụ macOS arm64):
curl -fsSL -o faber.tgz \
https://github.com/faberlang/releases/releases/download/faber-v1.2.0/faber-v1.2.0-aarch64-apple-darwin.tar.gz
curl -fsSL -o faber.tgz.sha256 \
https://github.com/faberlang/releases/releases/download/faber-v1.2.0/faber-v1.2.0-aarch64-apple-darwin.tar.gz.sha256
expected=$(awk '{print $1}' faber.tgz.sha256)
actual=$(shasum -a 256 faber.tgz | awk '{print $1}')
test "$actual" = "$expected"
tar -xzf faber.tgz
sudo mv faber-v1.2.0-aarch64-apple-darwin/faber /usr/local/bin/
faber --versionTất cả ghi chú và tài sản của bản phát hành: github.com/faberlang/releases · faber-v1.2.0. Hướng dẫn từng bước: Hướng dẫn cài đặt. Danh mục lịch sử đầy đủ: Các bản phát hành.
| Mô hình | Hướng gói; phân tầng ngữ nghĩa |
| Kiểu | Tĩnh, ưu tiên kiểu; nullable qua T ∪ nihil |
| Glyph | ← → ∴ ≡ ∪ ⇥ |
| Thiết kế bởi | Ian Zepp |
| Xuất hiện lần đầu | 2025 |
| Trình biên dịch | Radix (Rust) |
| Các tuyến | Ứng dụng (HIR) · Hệ thống (MIR) |
| Đích chính | Rust → tệp nhị phân native |
| Locale người đọc | 7 locale đã phát hành (la, ar, hi, vi, th-TH, zh-Hans, zh-Hant) |
| Thư viện chuẩn | Norma (norma:*) |
| Giấy phép | MIT |
Bắt đầu tại đây#
| Đường dẫn | Đối tượng | Nội dung |
|---|---|---|
| Cài đặt | Người dùng | Tải xuống, PATH, lệnh faber check đầu tiên |
| Hello | Người dùng | Tạo và chạy salve-munde |
| Các lệnh | Người dùng + tác nhân | Vòng lặp CLI hằng ngày: check, build, run, test, explain |
| Dự án | Người dùng + tác nhân | Chuyển từ hello-world sang các gói thực tế |
| Tham quan nhanh | Người dùng | Hình dạng ngôn ngữ trong năm phút |
| Ví dụ | Người dùng + tác nhân | Các gói thực tế: ứng dụng CLI, mailspace, GPU, corpus |
/llms.txt | Tác nhân | Chỉ mục máy — bắt đầu tại đây nếu bạn là một mô hình |
| Hướng dẫn tác nhân | Tác nhân | Cách học Faber và phát hành một gói |
| Kỹ năng tác nhân | Tác nhân | Các hướng dẫn kỹ năng tập trung (cài đặt, ngôn ngữ, ví dụ, …) |
Trạng thái portal#
Trang / này là Speculum Porta cho trang tiếng Anh: một điểm vào không gắn locale, định tuyến người dùng đến các trang cài đặt/khởi đầu, định tuyến tác nhân đến các bề mặt máy và nêu trạng thái gói locale mà không thương lượng tại thời điểm trình duyệt chạy.
Giai đoạn 7 là một bản thử nghiệm đa locale từng phần, không phải một trang đã bản địa hóa hoàn chỉnh:
chỉ th-TH, zh-Hans, zh-Hant, vi, ar và hi có các lát cắt nội dung portal/khởi đầu do tác giả viết cùng các trang corpus được sinh tự động, còn phần văn bản do tác giả viết vẫn quay về tiếng Anh.
| Locale | Trạng thái | Ghi chú |
|---|---|---|
la | Trang chính tắc đang hoạt động | Toàn bộ trang tiếng Anh/Latinh được sinh tự động |
th-TH | Bản thử nghiệm từng phần Giai đoạn 7 | Lát cắt portal/khởi đầu do tác giả viết cùng corpus được sinh tự động; văn bản dự phòng bằng tiếng Anh; toàn bộ tài liệu do tác giả viết đang chờ hoàn thiện |
zh-Hans | Bản thử nghiệm từng phần Giai đoạn 7 | Lát cắt portal/khởi đầu do tác giả viết cùng corpus được sinh tự động; văn bản dự phòng bằng tiếng Anh; toàn bộ tài liệu do tác giả viết đang chờ hoàn thiện |
vi | Bản thử nghiệm từng phần Giai đoạn 7 | Lát cắt portal/khởi đầu do tác giả viết cùng corpus được sinh tự động; văn bản dự phòng bằng tiếng Anh; toàn bộ tài liệu do tác giả viết đang chờ hoàn thiện |
zh-Hant | Bản thử nghiệm từng phần Giai đoạn 7 | Lát cắt portal/khởi đầu do tác giả viết cùng corpus được sinh tự động; văn bản dự phòng bằng tiếng Anh; toàn bộ tài liệu do tác giả viết đang chờ hoàn thiện |
ar | Bản thử nghiệm từng phần Giai đoạn 7 | Lát cắt portal/khởi đầu do tác giả viết cùng corpus được sinh tự động; văn bản dự phòng bằng tiếng Anh; toàn bộ tài liệu do tác giả viết đang chờ hoàn thiện |
hi | Bản thử nghiệm từng phần Giai đoạn 7 | Lát cắt portal/khởi đầu do tác giả viết cùng corpus được sinh tự động; văn bản dự phòng bằng tiếng Anh; toàn bộ tài liệu do tác giả viết đang chờ hoàn thiện |
Ví dụ đang hoạt động trong tiếng Latinh chính tắc:
hàm salve(văn_bản nomen) → văn_bản {
hằng văn_bản msg ← "Salve, §!"(nomen)
trả msg
}
bắt_đầu {
hằng văn_bản m ← salve("munde")
ghi_chú m
}Xem Locale người đọc để xem cùng một chương trình ngữ nghĩa được hiển thị qua các gói tiếng Thái, tiếng Trung giản thể, tiếng Trung phồn thể, tiếng Ả Rập, tiếng Hindi và tiếng Việt.
Tổng quan#
Faber được thiết kế dựa trên một nhận thức cốt lõi: biểu diễn trung gian là sự thật, và không có đích đến hay bề mặt ngôn ngữ tự nhiên nào được ưu tiên. Một chương trình Faber được viết bằng từ khóa Latinh có thể được hiển thị bằng từ khóa tiếng Thái, tiếng Ả Rập hoặc tiếng Trung thông qua cùng cơ chế hiển thị chương trình đó thành Rust, Go hoặc WebAssembly — vì HIR là nguồn thẩm quyền và mọi đầu ra đều là một dạng hiển thị của nó.
Ngôn ngữ đưa ra ba lựa chọn tín hiệu có chủ đích và phối hợp với nhau:
- Khai báo ưu tiên kiểu — hướng hình dạng về phía phép liên kết:
textus nomen, không phảinomen: textus. - Từ hành vi Latinh — khai báo, câu lệnh và vòng đời:
hàm,kiểu,hằng,trả,nếu. - Glyph cấu trúc — luồng giá trị và các mối nối kiểu:
←(liên kết),→(kiểu trả về),∴(khớp nối đóng),≡(bằng nhau),∪(hợp).
Kết quả là mã nguồn có hình dạng ngữ pháp ổn định, có thể được xem xét, biến đổi và hạ cấp mà không làm mất cảm nhận về ý định của người đọc.
Tài liệu#
| Phần | Mô tả |
|---|---|
| Lịch sử | Dòng thời gian phát triển, ảnh hưởng và lịch sử phát hành |
| Các bản phát hành | Bản tải xuống Faber mới nhất cùng mọi thẻ và tệp nhị phân đã phát hành |
| Tính năng | Locale người đọc, các tuyến biên dịch, từ vựng Latinh, hệ thống glyph, nguyên tắc thiết kế |
| Cú pháp | Tài liệu tham khảo đầy đủ: kiểu, hàm, luồng điều khiển, lỗi, generic, collection |
| Công cụ | Pipeline trình biên dịch Radix, CLI Faber, các đích sinh mã, scripting |
| Hệ sinh thái | Norma, Cista, Triga, coreutils, AI Workbench, corpus |
| Corpus | Các trang từ khóa và cấu trúc được sinh từ corpus công khai |
| Tham chiếu | Ngữ pháp EBNF, tài liệu thiết kế, kho mã |
Ví dụ nhanh#
Một hàm đơn giản minh họa các mẫu Faber chính — tham số ưu tiên kiểu, kiểu trả về bằng glyph, hợp nullable, các từ điều khiển Latinh:
functio divide(numerus a, numerus b) → numerus ∪ nihil {
si b ≡ 0 ergo redde nihil
redde a / b
}Hiển thị trực tiếp#
Theo mặc định, hàm chia ở trên được hiển thị trong gói Latinh. Trình biên dịch có thể hiển thị cùng một chương trình trong bảy locale người đọc — tiếng Thái, tiếng Trung giản thể, tiếng Trung phồn thể, tiếng Ả Rập, tiếng Hindi và tiếng Việt — mỗi locale ánh xạ lại từ khóa và kiểu sang ngôn ngữ đó trong khi glyph và định danh vẫn không đổi. Đây không phải là một lớp dịch được áp dụng cho trang; đây là cùng cơ chế mà trình biên dịch sử dụng để tạo mã nguồn bản địa hóa.
Xem tài liệu locale người đọc để biết thảo luận đầy đủ.
Kho mã#
| Kho | Vai trò |
|---|---|
| faberlang/faber | API đích công khai và trang chủ dự án |
| faberlang/releases | Tài sản CLI theo từng bản phát hành |
| faberlang/norma | Mã nguồn thư viện chuẩn |
| faberlang/cista | CLI/thư viện kho gói |
| faberlang/triga | Thư viện đồ họa / hình học |
| faberlang/examples | Corpus, lộ trình, các gói ứng dụng |
| faberlang/faberlang.dev | Trang tài liệu này |