Kết xuấtvi

Faber

Sẵn sàng cho tác nhân

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ệnhDự á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ảngGói lưu trữMã kiểm tra
macOS arm64 (Apple Silicon)faber-v1.2.0-aarch64-apple-darwin.tar.gzsha256
Linux x64 (glibc)faber-v1.2.0-x86_64-unknown-linux-gnu.tar.gzsha256

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 --version

Tấ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ìnhHướng gói; phân tầng ngữ nghĩa
KiểuTĩnh, ưu tiên kiểu; nullable qua T ∪ nihil
Glyph← → ∴ ≡ ∪ ⇥
Thiết kế bởiIan Zepp
Xuất hiện lần đầu2025
Trình biên dịchRadix (Rust)
Các tuyếnỨng dụng (HIR) · Hệ thống (MIR)
Đích chínhRust → tệp nhị phân native
Locale người đọc7 locale đã phát hành (la, ar, hi, vi, th-TH, zh-Hans, zh-Hant)
Thư viện chuẩnNorma (norma:*)
Giấy phépMIT

Bắt đầu tại đây#

Đường dẫnĐối tượngNội dung
Cài đặtNgười dùngTải xuống, PATH, lệnh faber check đầu tiên
HelloNgười dùngTạo và chạy salve-munde
Các lệnhNgười dùng + tác nhânVòng lặp CLI hằng ngày: check, build, run, test, explain
Dự ánNgười dùng + tác nhânChuyển từ hello-world sang các gói thực tế
Tham quan nhanhNgười dùngHình dạng ngôn ngữ trong năm phút
Ví dụNgười dùng + tác nhânCác gói thực tế: ứng dụng CLI, mailspace, GPU, corpus
/llms.txtTác nhânChỉ 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ânTác nhânCách học Faber và phát hành một gói
Kỹ năng tác nhânTác nhânCá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, arhi 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.

LocaleTrạng tháiGhi chú
laTrang chính tắc đang hoạt độngToàn bộ trang tiếng Anh/Latinh được sinh tự động
th-THBản thử nghiệm từng phần Giai đoạn 7Lá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-HansBản thử nghiệm từng phần Giai đoạn 7Lá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
viBản thử nghiệm từng phần Giai đoạn 7Lá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-HantBản thử nghiệm từng phần Giai đoạn 7Lá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
arBản thử nghiệm từng phần Giai đoạn 7Lá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
hiBản thử nghiệm từng phần Giai đoạn 7Lá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ải nomen: 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ầnMô 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ànhBả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ăngLocale 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ápTà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áiNorma, Cista, Triga, coreutils, AI Workbench, corpus
CorpusCác trang từ khóa và cấu trúc được sinh từ corpus công khai
Tham chiếuNgữ 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ã#

KhoVai trò
faberlang/faberAPI đích công khai và trang chủ dự án
faberlang/releasesTài sản CLI theo từng bản phát hành
faberlang/normaMã nguồn thư viện chuẩn
faberlang/cistaCLI/thư viện kho gói
faberlang/trigaThư viện đồ họa / hình học
faberlang/examplesCorpus, lộ trình, các gói ứng dụng
faberlang/faberlang.devTrang tài liệu này