रेंडरिंगhi

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 (हाई-लेवल इंटरमीडिएट रिप्रेज़ेंटेशन) — में निहित रहता है।

यह नाम लैटिन शब्द maker या craftsman से निकला है। कंपाइलर का नाम Radix है, जो लैटिन root से लिया गया है। भाषा को Ian Zepp विकसित करते हैं और यह MIT लाइसेंस के अंतर्गत जारी की जाती है।

यहाँ नए हैं? शुरू करें पर जाएँ: अपने मॉडल को एक लिंक दें और वह आपके लिए Faber इंस्टॉल कर देगा। फिर Commands पढ़ें।

प्रतिमानपैकेज-आधारित; अर्थगत स्टेजिंग
टाइपिंगस्थैतिक, प्रकार-प्रथम; T ∪ शून्य_मान के माध्यम से nullable
ग्लिफ़← → ∴ ≡ ∪ ⇥
डिज़ाइनरIan Zepp
पहली प्रस्तुति2025
कंपाइलरRadix (Rust)
लेनएप्लिकेशन (HIR) · सिस्टम्स (MIR)
प्राथमिक लक्ष्यRust → नेटिव बाइनरी
रीडर लोकेल7 उपलब्ध (la, ar, hi, vi, th-TH, zh-Hans, zh-Hant)
मानक लाइब्रेरीNorma (norma:*)
लाइसेंसMIT

यहाँ से शुरू करें#

पथकिसके लिएक्या
शुरू करेंमानवअपने मॉडल को एक लिंक दें; वह आपके लिए Faber इंस्टॉल करेगा
Commandsमानव + एजेंटदैनिक CLI चक्र: check, build, run, test, explain
/install.mdएजेंटमशीन इंडेक्स — यदि आप मॉडल हैं तो यहाँ से शुरू करें
एजेंट गाइडएजेंटFaber सीखने और पैकेज जारी करने का तरीका
एजेंट स्किल्सएजेंटकेंद्रित स्किल गाइड (इंस्टॉल, भाषा, उदाहरण, …)

पोर्टल स्थिति#

यह / पृष्ठ अंग्रेज़ी साइट के लिए Speculum Porta है: एक ऐसा locale-less प्रवेश बिंदु जो लोगों को इंस्टॉल/प्रारंभ पृष्ठों तक भेजता है, एजेंटों को मशीन सतहों तक पहुँचाता है, और ब्राउज़र-समय नेगोशिएशन के बिना लोकेल पैक की स्थिति बताता है। Stage 7 एक आंशिक बहु-लोकेल प्रमाण है, पूर्ण स्थानीयकृत साइट नहीं: केवल th-TH, zh-Hans, zh-Hant, vi, ar, और hi में जनरेट किए गए पोर्टल/प्रारंभ लेखक-स्लाइस और जनरेट किए गए corpus पृष्ठ हैं, जबकि लेखकित गद्य अभी भी अंग्रेज़ी पर फ़ॉलबैक करता है।

लोकेलस्थितिटिप्पणियाँ
laआधिकारिक लाइव साइटपूर्ण जनरेट की गई अंग्रेज़ी/लैटिन साइट
th-THStage 7 आंशिक प्रमाणपोर्टल/प्रारंभ लेखक-स्लाइस और जनरेट किया गया corpus; अंग्रेज़ी गद्य पर फ़ॉलबैक; पूर्ण लेखकित दस्तावेज़ लंबित
zh-HansStage 7 आंशिक प्रमाणपोर्टल/प्रारंभ लेखक-स्लाइस और जनरेट किया गया corpus; अंग्रेज़ी गद्य पर फ़ॉलबैक; पूर्ण लेखकित दस्तावेज़ लंबित
viStage 7 आंशिक प्रमाणपोर्टल/प्रारंभ लेखक-स्लाइस और जनरेट किया गया corpus; अंग्रेज़ी गद्य पर फ़ॉलबैक; पूर्ण लेखकित दस्तावेज़ लंबित
zh-HantStage 7 आंशिक प्रमाणपोर्टल/प्रारंभ लेखक-स्लाइस और जनरेट किया गया corpus; अंग्रेज़ी गद्य पर फ़ॉलबैक; पूर्ण लेखकित दस्तावेज़ लंबित
arStage 7 आंशिक प्रमाणपोर्टल/प्रारंभ लेखक-स्लाइस और जनरेट किया गया corpus; अंग्रेज़ी गद्य पर फ़ॉलबैक; पूर्ण लेखकित दस्तावेज़ लंबित
hiStage 7 आंशिक प्रमाणपोर्टल/प्रारंभ लेखक-स्लाइस और जनरेट किया गया corpus; अंग्रेज़ी गद्य पर फ़ॉलबैक; पूर्ण लेखकित दस्तावेज़ लंबित

आधिकारिक लैटिन में जीवंत उदाहरण:

फलन salve(पाठ नाम) → पाठ {
    स्थिर पाठ msg ← "Salve, §!"(नाम)
    लौटाओ msg
}

आरंभ {
    स्थिर पाठ m ← salve("munde")
    दिखाओ m
}

उसी अर्थगत प्रोग्राम को थाई, सरलीकृत चीनी, पारंपरिक चीनी, अरबी, हिंदी और वियतनामी पैक्स के माध्यम से रेंडर किया हुआ देखने के लिए रीडर लोकेल देखें।

अवलोकन#

Faber एक मूल अंतर्दृष्टि के आधार पर डिज़ाइन की गई है: इंटरमीडिएट रिप्रेज़ेंटेशन ही सत्य है, और किसी लक्ष्य या मानव-भाषा सतह को विशेष अधिकार प्राप्त नहीं है। लैटिन कीवर्ड में लिखा गया Faber प्रोग्राम उसी तंत्र के माध्यम से थाई, अरबी या चीनी कीवर्ड में रेंडर किया जा सकता है जिससे वह Rust, Go या WebAssembly में रेंडर होता है — क्योंकि HIR ही प्राधिकृत स्रोत है और हर आउटपुट उसका एक रेंडरिंग है।

भाषा तीन सोच-समझकर चुने गए संकेतों का उपयोग करती है, जो साथ मिलकर काम करते हैं:

  • प्रकार-प्रथम घोषणाएँ — आकार को बाइंडिंग की ओर पढ़ने योग्य बनाती हैं: पाठ नाम, न कि नाम: पाठ।
  • लैटिन व्यवहारिक शब्द — घोषणाएँ, कथन और जीवनचक्र: फलन, वर्ग, स्थिर, लौटाओ, यदि।
  • संरचनात्मक ग्लिफ़ — मान प्रवाह और प्रकार-संधियाँ: ← (बाइंड), → (रिटर्न प्रकार), ∴ (समापन संधि), ≡ (समानता), ∪ (यूनियन)।

परिणाम ऐसा स्रोत है जिसका व्याकरणिक रूप स्थिर रहता है और जिसे पाठक के आशय की अनुभूति खोए बिना समीक्षा, रूपांतरण और लोअर किया जा सकता है।

दस्तावेज़ीकरण#

अनुभागविवरण
इतिहासविकास-समयरेखा, प्रभाव और रिलीज़ इतिहास
रिलीज़नवीनतम Faber डाउनलोड तथा प्रकाशित प्रत्येक टैग और बाइनरी
विशेषताएँरीडर लोकेल, संकलन लेन, लैटिन शब्दावली, ग्लिफ़ प्रणाली, डिज़ाइन सिद्धांत
सिंटैक्सपूर्ण संदर्भ: प्रकार, फ़ंक्शन, नियंत्रण प्रवाह, त्रुटियाँ, जेनरिक, संग्रह
टूलिंगRadix कंपाइलर पाइपलाइन, Faber CLI, कोडजेन लक्ष्य, स्क्रिप्टिंग
इकोसिस्टमNorma, Cista, Triga, coreutils, AI Workbench, corpus
Corpusसार्वजनिक corpus से जनरेट किए गए कीवर्ड और कंस्ट्रक्ट पृष्ठ
संदर्भEBNF व्याकरण, डिज़ाइन दस्तावेज़, रिपॉज़िटरी

त्वरित उदाहरण#

एक सरल फ़ंक्शन, जो Faber के प्रमुख पैटर्न दिखाता है — प्रकार-प्रथम पैरामीटर, ग्लिफ़ रिटर्न प्रकार, nullable यूनियन, लैटिन नियंत्रण शब्द:

फलन divide(संख्या a, संख्या b) → संख्या ∪ शून्य_मान {
    यदि b ≡ 0 अतः लौटाओ शून्य_मान
    लौटाओ a / b
}

लाइव रेंडरिंग#

ऊपर दिया गया divide फ़ंक्शन डिफ़ॉल्ट रूप से लैटिन पैक में रेंडर होता है। कंपाइलर उसी प्रोग्राम को सात रीडर लोकेल — थाई, सरलीकृत चीनी, पारंपरिक चीनी, अरबी, हिंदी, वियतनामी — में रेंडर कर सकता है। हर लोकेल कीवर्ड और प्रकारों को उस भाषा में पुनः मैप करता है, जबकि ग्लिफ़ और पहचानकर्ता अपरिवर्तित रहते हैं। यह पृष्ठ पर लागू की गई अनुवाद परत नहीं है; यह वही तंत्र है जिसका उपयोग कंपाइलर स्थानीयकृत स्रोत बनाने के लिए करता है।

पूरी चर्चा के लिए रीडर लोकेल दस्तावेज़ देखें।

रिपॉज़िटरी#

रिपॉज़िटरीभूमिका
faberlang/faberसार्वजनिक लक्ष्य API और परियोजना केंद्र
faberlang/releasesटैग किए गए CLI रिलीज़ एसेट
faberlang/normaमानक लाइब्रेरी स्रोत
faberlang/cistaपैकेज-स्टोर CLI/लाइब्रेरी
faberlang/trigaग्राफ़िक्स / ज्यामिति लाइब्रेरी
faberlang/examplesCorpus, ट्रैक, एप्लिकेशन पैकेज
faberlang/faberlang.devयह दस्तावेज़ीकरण साइट