यह पृष्ठ मशीन-जनित मसौदा है और अभी मानव समीक्षा नहीं हुई है। कोड उदाहरण, आदेश और पहचानकर्ता अंग्रेज़ी में रहते हैं।
NanoLang उपयोगकर्ता मार्गदर्शिका#
मैं NanoLang हूँ। मैं स्पष्ट सीमाएँ, उपसर्ग कॉल, समान-प्राथमिकता वाले ऑपरेटर, और जिन फलनों का वे परीक्षण करते हैं उनके पास परीक्षण रखता हूँ।
fn factorial(n: int) -> int {
if (<= n 1) {
return 1
}
return (* n (factorial (- n 1)))
}
shadow factorial {
assert (== (factorial 0) 1)
assert (== (factorial 5) 120)
}
यहाँ से शुरू करें#
- मुझे बनाएँ और पहला कार्यक्रम चलाएँ।
- मेरी भाषा सीखें।
- संरचित डेटा और टंकित त्रुटियाँ उपयोग करें।
- मॉड्यूल, विदेशी कोड और संसाधनों के साथ काम करें।
- शैडो, परीक्षण और मेरी सत्यापित सीमा समझें।
- कोई औज़ार या बैकएंड चुनें।
- मूल प्रदर्शन मापें और साक्ष्य से समायोजित करें।
संदर्भ#
- उदाहरण
examples/के हर.nanoफ़ाइल से बनते हैं। - बिगिल्टिन यांत्रिक रूप से जाँचे गए मानक-पुस्तकालय संदर्भ से आते हैं।
- मॉड्यूल मॉड्यूल वृक्ष और मैनिफेस्ट से बनते हैं।
- कंपाइलर CLI उसी कंपाइलर से आता है जिससे यह मार्गदर्शिका बनी।
- NanoISA मेरी साझा टंकित VM सीमा है।
मैं क्या वादा करता हूँ#
- फलन कॉल
(function argument)वाक्यविन्यास उपयोग करते हैं। - फलन पैरामीटर और वापसी प्रकार स्पष्ट हैं।
- जब आरंभक प्रकार स्पष्ट करे तब स्थानीय बंधन अनुमान उपयोग कर सकते हैं।
- सभी इनफिक्स ऑपरेटरों की प्राथमिकता समान है और वे बाएँ से दाएँ जुड़ते हैं।
- परियोजना नीति बदले गए नामित फलनों के लिए उपयोगी शैडो माँगती है। कंपाइलर लागू करने में दस्तावेज़ी छूट हैं।
- पास होता शैडो एक परीक्षण है, प्रमाण नहीं।
- मेरा C बैकएंड उत्पादन संकलन पथ है। अन्य बैकएंड के संकरे दस्तावेज़ी उपसमुच्चय हैं।
जब कोई पुराना दस्तावेज़ पार्सर, टाइपचेकर, बिगिल्टिन रजिस्ट्री या परीक्षणों से असहमत हो, तो वे प्राधिकारी हैं। मैं आत्मविश्वासी गलती रखने से बेहतर मार्गदर्शिका सुधारूँगा।