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 هي لغة برمجة موجهة للحزم بمفردات سلوكية لاتينية، وقواعد نحوية منتظمة صغيرة، ونظام أنواع ثابت قائم على النوع أولاً. يُصرَّف المصدر عبر مصرف Radix إلى Rust قابل للمراجعة وثنائيات أصلية. الخاصية المعمارية المميزة لها هي أن المعنى يكمن في نواة دلالية — التمثيل الوسيط عالي المستوى (HIR) — بدلاً من أي تصيير معين.
الاسم مشتق من الكلمة اللاتينية التي تعني صانع أو حرفي. سُمي المصرف Radix، من الكلمة اللاتينية جذر. طُوِّرت اللغة بواسطة Ian Zepp وصدرت تحت رخصة MIT.
جديد هنا؟ ابدأ بـ التثبيت والتحميل، ثم شغّل مسار البداية المتسلسل: مرحباً، الأوامر، والمشاريع.
تحميل Faber 1.2.0#
الإصدار الحالي: Faber 1.2.0 (الوسم faber-v1.2.0). أرشيفات CLI مُجمَّعة مسبقاً لأنظمة macOS و Linux؛ استخرج الثنائي faber-v1.2.0-<target-triple>/faber وضعه في PATH لديك.
| المنصة | الأرشيف | المجموع الاختباري |
|---|---|---|
| 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 |
تثبيت سريع (مثال 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جميع ملاحظات الإصدار والموجودات: github.com/faberlang/releases · faber-v1.2.0. خطوة بخطوة: دليل التثبيت. الجرد التاريخي الكامل: الإصدارات.
| النمط | موجه للحزم؛ تجهيز دلالي |
| التحقق من الأنواع | ثابت، النوع أولاً؛ يقبل القيمة الفارغة عبر T ∪ لا شيء |
| الرموز | ← → ∴ ≡ ∪ ⇥ |
| صممها | Ian Zepp |
| أول ظهور | 2025 |
| المصرف | Radix (Rust) |
| المسارات | تطبيقي (HIR) · أنظمة (MIR) |
| الهدف الأساسي | Rust → ثنائي أصلي |
| لغات القارئ | 7 مُصدَّرة (la, ar, hi, vi, th-TH, zh-Hans, zh-Hant) |
| المكتبة القياسية | Norma (norma:*) |
| الرخصة | MIT |
ابدأ هنا#
| المسار | لمن | ماذا |
|---|---|---|
| التثبيت | بشري | تحميل، PATH، أول faber check |
| مرحباً | بشري | إنشاء وتشغيل salve-munde |
| الأوامر | بشري + وكيل | حلقة CLI اليومية: check, build, run, test, explain |
| المشاريع | بشري + وكيل | الانتقال من hello-world إلى حزم حقيقية |
| جولة سريعة | بشري | شكل اللغة في خمس دقائق |
| أمثلة | بشري + وكيل | حزم حقيقية: تطبيقات CLI، مساحة بريد، GPU، corpus |
/llms.txt | وكيل | فهرس آلي — ابدأ هنا إذا كنت نموذجاً |
| دليل الوكيل | وكيل | كيفية تعلم Faber وشحن حزمة |
| مهارات الوكيل | وكيل | أدلة مهارات مركزة (تثبيت، لغة، أمثلة، …) |
حالة البوابة#
صفحة / هذه هي Speculum Porta للموقع الإنجليزي: نقطة دخول بلا لغة محلية توجه الأشخاص إلى صفحات التثبيت/البداية، وتوجه الوكلاء إلى الأسطح الآلية، وتوضح حالة حزمة اللغة المحلية دون تفاوض زمن المتصفح. المرحلة 7 هي إثبات جزئي متعدد اللغات، وليس موقعاً محلياً مكتملاً: فقط th-TH، zh-Hans، zh-Hant، vi، ar، وhi تمتلك شرائح بوابة/بداية مُنشأة بالإضافة إلى صفحات corpus مُنشأة، والنثر المؤلَّف لا يزال يرجع إلى الإنجليزية.
| اللغة المحلية | الحالة | ملاحظات |
|---|---|---|
la | الموقع القانوني الحي | موقع إنجليزي/لاتيني مُنشأ بالكامل |
th-TH | إثبات جزئي للمرحلة 7 | شريحة بوابة/بداية مُنشأة بالإضافة إلى corpus مُنشأ؛ نثر إنجليزي احتياطي؛ الوثائق الكاملة المؤلَّفة معلقة |
zh-Hans | إثبات جزئي للمرحلة 7 | شريحة بوابة/بداية مُنشأة بالإضافة إلى corpus مُنشأ؛ نثر إنجليزي احتياطي؛ الوثائق الكاملة المؤلَّفة معلقة |
vi | إثبات جزئي للمرحلة 7 | شريحة بوابة/بداية مُنشأة بالإضافة إلى corpus مُنشأ؛ نثر إنجليزي احتياطي؛ الوثائق الكاملة المؤلَّفة معلقة |
zh-Hant | إثبات جزئي للمرحلة 7 | شريحة بوابة/بداية مُنشأة بالإضافة إلى corpus مُنشأ؛ نثر إنجليزي احتياطي؛ الوثائق الكاملة المؤلَّفة معلقة |
ar | إثبات جزئي للمرحلة 7 | شريحة بوابة/بداية مُنشأة بالإضافة إلى corpus مُنشأ؛ نثر إنجليزي احتياطي؛ الوثائق الكاملة المؤلَّفة معلقة |
hi | إثبات جزئي للمرحلة 7 | شريحة بوابة/بداية مُنشأة بالإضافة إلى corpus مُنشأ؛ نثر إنجليزي احتياطي؛ الوثائق الكاملة المؤلَّفة معلقة |
عينة حية باللاتينية القانونية:
دالة salve(نص nomen) → نص {
ثابت نص msg ← "Salve, §!"(nomen)
أعد msg
}
بداية {
ثابت نص m ← salve("munde")
اعرض m
}انظر لغة القارئ لنفس البرنامج الدلالي المُصيَّر عبر حزم التايلاندية، والصينية المبسطة، والصينية التقليدية، والعربية، والهندية، والفيتنامية.
نظرة عامة#
صُممت Faber حول فكرة محورية: التمثيل الوسيط هو الحقيقة، ولا يتمتع أي هدف أو سطح لغة بشرية بامتياز. يمكن تصيير برنامج Faber مكتوب بكلمات لاتينية مفتاحية إلى كلمات تايلاندية، أو عربية، أو صينية مفتاحية عبر نفس الآلية التي تصيره إلى Rust، أو Go، أو WebAssembly — لأن HIR هو السلطة وكل مخرج هو تصيير له.
تتخذ اللغة ثلاثة خيارات إشارية متعمدة تعمل معاً:
- تصريحات النوع أولاً — يتجه الشكل نحو الربط:
نص nomen، وليسnomen: نص. - كلمات سلوكية لاتينية — التصريحات، والتعليمات، ودورة الحياة:
دالة،نوع،ثابت،أعد،إذا. - رموز بنيوية — تدفق القيم ووصلات الأنواع:
←(ربط)،→(نوع الإرجاع)،∴(وصلة الإغلاق)،≡(تساوي)،∪(اتحاد).
النتيجة هي مصدر ذو شكل نحوي مستقر يمكن مراجعته، وتحويله، وتخفيضه دون فقدان إحساس القارئ بالقصد.
التوثيق#
| القسم | الوصف |
|---|---|
| التاريخ | الجدول الزمني للتطوير، والتأثيرات، وتاريخ الإصدارات |
| الإصدارات | أحدث تحميل لـ Faber بالإضافة إلى كل وسم وثنائي منشور |
| الميزات | لغة القارئ، مسارات التصريف، المفردات اللاتينية، نظام الرموز، مبادئ التصميم |
| الصياغة | مرجع كامل: الأنواع، الدوال، تدفق التحكم، الأخطاء، العموميات، المجموعات |
| الأدوات | خط أنابيب مصرف Radix، واجهة Faber CLI، أهداف توليد الشيفرة، البرمجة النصية |
| النظام البيئي | Norma، Cista، Triga، coreutils، AI Workbench، corpus |
| المدونة | صفحات كلمات مفتاحية وبنى مُنشأة من المدونة العامة |
| المراجع | قواعد EBNF، وثائق التصميم، المستودعات |
مثال سريع#
دالة بسيطة توضح أنماط Faber الأساسية — معاملات النوع أولاً، نوع إرجاع رمزي، اتحاد يقبل القيمة الفارغة، كلمات تحكم لاتينية:
functio divide(numerus a, numerus b) → numerus ∪ nihil {
si b ≡ 0 ergo redde nihil
redde a / b
}التصيير الحي#
دالة divide أعلاه مُصيَّرة في الحزمة اللاتينية افتراضياً. يستطيع المصرف تصيير نفس البرنامج بسبع لغات قارئ — التايلاندية، والصينية المبسطة، والصينية التقليدية، والعربية، والهندية، والفيتنامية — كل منها يعيد تعيين الكلمات المفتاحية والأنواع إلى تلك اللغة بينما تبقى الرموز والمعرفات دون تغيير. هذه ليست طبقة ترجمة تُطبَّق على الصفحة؛ إنها نفس الآلية التي يستخدمها المصرف لإنتاج مصدر محلي.
انظر توثيق لغة القارئ للنقاش الكامل.
المستودعات#
| المستودع | الدور |
|---|---|
| faberlang/faber | واجهات الأهداف العامة وواجهة المشروع |
| faberlang/releases | موجودات الإصدارات الموسومة لـ CLI |
| faberlang/norma | مصدر المكتبة القياسية |
| faberlang/cista | CLI/lib مخزن الحزم |
| faberlang/triga | مكتبة الرسوميات/الهندسة |
| faberlang/examples | المدونة، المسارات، حزم التطبيقات |
| faberlang/faberlang.dev | موقع التوثيق هذا |