मुख्य कंटेंट तक स्किप करें

Wave + Whale एकीकृत विकास रोडमैप v2

सम्पूर्ण चरण

pre-alpha → pre-beta → alpha → beta → rc → release

Pre-Beta चरण

उद्देश्य: Wave भाषा के फ्रंटएंड को पूरा करना + LLVM बैकएंड के उपयोग से संपूर्ण कार्यक्षमता कार्यान्वयन।

मुख्य विशेषताएँ

  • केवल LLVM का उपयोग (Whale नहीं)

  • कोई नया व्याकरण नहीं जोड़ा गया है, केवल मौजूदा विशिष्टताओं को कार्यान्वित किया गया है।

  • त्रुटि संदेश, प्रकार जांच, वेरिएबल दायरा आदि की फ्रंट-केंद्रित संरचना का स्थिरीकरण।

कार्यान्वयन दायरा

  • वेरिएबल घोषणा, आउटपुट, ऑपरेशन

  • फ़ंक्शन परिभाषा और कॉल

  • अगर / अन्य यदि / नहीं तो

  • जबकि / ब्रेक / जारी रखें

  • फॉर्मेट आउटपुट, प्रकार निर्दिष्ट

  • पॉइंटर डिज़ाइन (ptr<T> प्रारूप)

  • ऐरे डिज़ाइन (array<T, N>)

  • प्रकार जाँच और संरचनात्मक AST

प्रयुक्त तकनीक

  • रस्ट (वेव कंपाइलर संपूर्ण)

  • LLVM (IR निर्माण, AOT निष्पादन)

  • इंकवेल / llvm-sys


अल्फा चरण

लक्ष्य: वहले की शुरुआत, LLVM के साथ समांतर उपयोग / व्हेल आधारित बैकएंड की शुरुआत कार्यान्वयन

मुख्य विशेषताएँ

  • LLVM डिफ़ॉल्ट बैकएंड है

  • व्हेल वैकल्पिक बैकएंड है

  • वेव कोड निष्पादन के समय --backend विकल्प द्वारा विभाजन संभव

wavec चलाएं main.wave --backend=whale
wavec चलाएं main.wave --backend=llvm

व्हेल संबंधित कार्य

  • व्हेल IR संरचना की डिज़ाइन और परिभाषा (अनुदेश, मान, ब्लॉक इत्यादि)

  • व्हेल के लिए IR जनरेटर कार्यान्वयन

  • व्हेल कोड जनरेटर (असेंबली या बाइनरी)

  • केवल व्हेल के लिए उपलब्ध प्रकार कार्यान्वयन (i1024, उच्च स्तरीय पॉइंटर्स इत्यादि)

चेकपॉइंट

  • व्हेल पर हैलो वर्ल्ड आउटपुट

  • व्हेल में वेरिएबल घोषणा/आवंटन

  • व्हेल IR डीबगिंग उपकरण कार्यान्वयन

  • व्हेल में पॉइंटर प्रकार हैंडलिंग

  • वेव → व्हेल IR परिवर्तन प्रगति


बेटा चरण

लक्ष्य: पूरी तरह से व्हेल में परिवर्तन, LLVM हटाना। व्हेल + वेव संयोजन अनुकूलन

मुख्य विशेषताएँ

  • केवल व्हेल का उपयोग

  • LLVM का सम्पूर्ण हटाना (निर्भरता और मापांक)

  • कोड अनुकूलन केंद्रित

  • IR → निष्पादन तक शीघ्र और कुशलता से

अनुकूलन दायरा

  • व्हेल IR अनुकूलन पास डिज़ाइन

  • व्हेल कोड निर्माण गति में सुधार

  • वेव की सभी व्याकरण व्हेल में पूर्ण समर्थन

परीक्षण

  • यूनिट परीक्षण + सम्पूर्ण परीक्षण सूट

  • WSON, मानक लाइब्रेरी संगतता परीक्षण

  • क्रॉस प्लेटफॉर्म व्हेल बिल्ड सत्यापन


RC (रिलीज़ उम्मीदवार) चरण

लक्ष्य: वेव बूटस्ट्रैप की शुरुआत - रस्ट कोड का सम्पूर्ण हटाना

मुख्य विशेषताएँ

  • Wave के साथ Wave कंपाइलर का पुनःलेखन आरंभ

  • Whale के आधार पर Wave कोड का स्व-निष्पादन

  • Whale ने self-hosting चरण में प्रवेश किया

कार्यान्वयन दायरा

  • Whale पर Wave IR जनरेटर का पुनःलेखन

  • Rust को हटाकर Wave कोड से प्रतिस्थापित

  • std और कोर लाइब्रेरी को Wave में लिखा गया

  • बूटस्ट्रैप की सफलता पर पहली Wave-नेटिव कंपाइलर की उत्पत्ति


रिलीज़ चरण (v0.0.1)

लक्ष्य: आधिकारिक लॉन्च / पूर्ण Whale-आधारित स्वतंत्र भाषा पारिस्थितिकी तंत्र प्रदान करना

घटक

  • Wave (भाषा और मानक लाइब्रेरी)

  • Whale कंपाइलर टूलचेन)

  • Vex पैकेज मैनेजर)

  • WSON (डेटा फॉर्मेट)

विशेषताएँ

  • पूर्ण Wave-only कंपाइलर (बूटस्ट्रैप का सफल होना)

  • Whale का अनुकूलन पूर्ण

  • Vex बिल्ड और वितरण प्रणाली का स्थिरीकरण

  • WSON पार्सर + सीरियलाईज़ेशन शामिल

  • क्रॉस OS बिल्ड संभव (vex build --windows आदि)


विकास मेटा रणनीति

रणनीतिविवरण
ट्रेन+रेल रणनीतिWhale को विकसित करते समय साथ ही Wave बैकएंड का निर्माण करते हुए समानांतर में आगे बढ़ना
बैकएंड डिविजन रणनीति--backend विकल्प के साथ LLVM/Whale का चयन, अल्फा में महत्वपूर्ण संरचना
संरचना उलटने की योजनाrc के बाद से Wave कोड के माध्यम से Whale द्वारा खुद को कंपाइल करना