Introduction to Wave v0.0.9-pre-beta: Explicit Mutability, Smarter Functions, and Safer Pointers
Hello! I'm Lunastev, the developer of Wave.
We are very excited to introduce Wave 'v0.0.9-Free Beta' — A version that offers Explicit Mutability, Smarter Functions, and Safer Pointers.
Wave is designed with low-level features in mind, and in this version, We are making a big leap in that direction.
📐 Language Specification Updates
🧠 Introduction of let
, let mut
, and var for Explicit Mutability
-
Wave now supports three types of variable declarations to express mutability explicitly:
-
var
: fully mutable, intended for general-purpose variables -
let
: immutable, reassignment is forbidden -
let mut
: mutable under immutable declaration context (safe controlled mutability)
-
-
This design introduces clearer ownership intent and improves safety in low-level and system-oriented programming.
🧠 Default Parameter Values in Function Declarations
-
Wave functions can now define parameters with default values:
fun main(name: str = "World") {
println("Hello {}", name);
} -
If an argument is not provided at runtime, the default value will be inserted automatically by the compiler.
-
This enables more expressive and flexible function declarations.
✅ Added Features
🧠 Parser and IR support for explicit mutability
-
Introduced internal Mutability enum:
Var
,Let
,LetMut
-
Implemented
parse_let()
with optional mut keyword for parsing -
Wave's IR generation now restricts
let
variables from being reassigned