Introduction to Wave v0.0.6-pre-beta: Strong Typing, Function Returns, and continue Support
Hello! I'm Lunastev, the developer of Wave.
I'm very happy to introduce Wave v0.0.6-pre-beta
, which is an important step forward in the evolution of language.
The release focuses on expanding the type system, enhancing feature support, and introducing powerful new features such as 'continue' doors and floating arithmetic. With the structured 'WaveType' Enum now replacing all string-based types, Wave has taken a strong step towards becoming a statically typed system language.
The function return type is now fully supported, enabling expressive and reusable logic. You can define the function as -> i32
and return the value using the return
keyword. LLVM IR generation logic has also been upgraded to be fully type-aware, ensuring safer and more accurate lower-level output.
The waves are growing fast, and we are very excited to share our future plans. Thank you for supporting me on this journey 💙
✅ Added Features
💬 Comment Support
- Supports single-line comments using
//
- Supports multi-line comment blocks using
/* */
✅ continue statement Support
- Possible to skip to the next iteration depending on the condition within the 'while' loop
- Syntax supported for
if (condition) {continue; }
- In LLVM IR, 'continue' is treated as a condition check block for the corresponding loop
🧠 Strong Typing for Variables and Parameters
- Replaced string-based types with structured
WaveType
enums in the AST - Fully supports types like
i32
,u64
,f32
for both variables and parameters - Enables static type checking and safer LLVM IR generation