Wave + Whale एकीकृत विकास रोडमैप v2
संपूर्ण चरण
pre-alpha → pre-beta → alpha → beta → rc → release
प्री-बेटा चरण
लक्ष्य: Wave भाषा का फ्रंटएंड पूरा करना + LLVM बैकएंड का उपयोग करके सभी फीचर्स लागू करना
मुख्य विशेषताएँ
-
केवल LLVM का उपयोग (Whale नहीं)
-
कोई नई सिंटैक्स नहीं, केवल मौजूदा विनिर्देशों को लागू क रना
-
फ्रंटएंड-केंद्रित संरचना को स्थिर करना — त्रुटि संदेश, टाइप चेकिंग, वेरिएबल स्कोप आदि
कार्यान्वयन की सीमा
-
वेरिएबल डिक्लेरेशन, आउटपुट, ऑपरेशन
-
फ़ंक्शन डिफिनिशन और कॉल
-
if / else if / else
-
while / break / continue
-
फॉर्मेटेड आउटपुट, स्पष्ट टाइप डिक्लेरेशन
-
पॉइंटर डिजाइन (
ptr<T>
फॉर्मेट) -
एरे डिज़ाइन (
array<T, N>
फॉर्मेट) -
टाइप चेकिंग और संरचित AST
प्रयुक्त तकनीकें
-
Rust (Wave कंपाइलर का पूरा कोड)
-
LLVM (IR जनरेशन, AOT निष्पादन)
-
inkwell / llvm-sys
अल्फा चरण
लक्ष्य: Whale का एकीकरण शुरू करना, LLVM के साथ समानांतर उपयोग / Whale-बेस्ड बैकएंड लागू करना शुरू
मुख्य विशेषताएँ
- LLVM डिफ़ॉल्ट बैकएंड होगा
- Whale वैकल्पिक बैकएंड होगा
--backend
विकल्प के जरिए Wave कोड चलाते समय बैकएंड चुनना संभव
wavec run main.wave --backend=whale
wavec run main.wave --backend=llvm
Whale संबंधित कार्य
-
Whale IR की संरचना का डिज़ाइन और परिभाषा (Instruction, Value, Block आदि)
-
Whale के लिए IR जनरेटर का कार्यान्वयन
-
Whale कोड जनरेटर (Assembly या Binary)
-
Whale-विशिष्ट टाइप्स (जैसे
i1024
, उन्नत पॉइंटर टाइप)
चेकपॉइंट्स
-
Whale से “Hello World” प्रिंट करना
-
Whale में वेरिएबल डिक्लेरेशन और असाइनमेंट
-
Whale IR के लिए डिबगिंग टूल्स बनाना
-
Whale में पॉइंटर टाइप हैंडल करना
-
Wave → Whale IR में रूपांतरण शुरू करना
बीटा चरण
लक्ष्य: पूरी तरह से Whale में स्विच करना, LLVM को हटाना। Whale + Wave संयोजन का अनुकूलन
मुख्य विशेषताएँ
-
केवल Whale का उपयोग
-
LLVM को पूरी तरह हटाना (डिपेंडेंसी और मॉड्यूल सहित)
-
कोड ऑप्टिमाइज़ेशन पर केंद्रित
-
IR से निष्पादन तक तेज़ और कुशल प्रक्रिया
ऑप्टिमाइज़ेशन का दायरा
-
Whale IR के लिए ऑप्टिमाइजेशन पास डिज़ाइन करना
-
Whale कोड जनरेशन की स्पीड सुधारना
-
Whale में Wave की सभी सिंटैक्स का पूर्ण समर्थन
परीक्षण
-
यूनिट टेस्ट + संपूर्ण टेस्ट सूट
-
WSON और स्टैंडर्ड लाइब्रेरी के साथ संगतता परीक्षण
-
Whale के क्रॉस-प्लेटफॉर्म बिल्ड की पुष्टि
RC (रिलीज़ कैंडिडेट) चरण
लक्ष्य: Wave का बूटस्ट्रैप शुरू करना — Rust को पूरी तरह हटाना
मुख्य विशेषताएँ
-
Wave कंपाइलर को Wave भाषा में दोबारा लिखना शुरू
-
Whale के आधार पर Wave कोड चलाना
-
Whale सेल्फ-होस्टिंग अवस्था में प्रवेश करेगा
कार्य की सीमा
-
Whale-आधारित Wave IR जनरेटर को फिर से लिखना
-
Rust हटाना और उसे Wave कोड से बदलना
-
std और core लाइब्रेरी को Wave में लिखना
-
बूटस्ट्रैप सफल होने पर Wave का पहला नेटिव कंपाइलर जन्म लेगा
रिलीज़ चरण (v0.0.1)
लक्ष्य: आधिकारिक रिलीज़ / पूर्ण Whale-आधारित स्वतंत्र भाषा पारिस्थितिकी तंत्र प्रदान करना