← Back to Blog

Lateralus v0.5.0: The Expansion Release

April 7, 2026 languagev0.5.0release

Today we release Lateralus v0.5.0 — our most ambitious update yet, introducing CSP-style channels, a hygienic macro system, algebraic effects, decorators, and compile-time evaluation.

◉ CSP-Style Channels

Typed channels with Sender<T> and Receiver<T> provide safe, composable concurrency. The new select statement enables non-blocking multi-channel operations:

let (tx, rx) = channel<Message>()
select {
    msg <- rx => process(msg),
    timeout(100ms) => handle_timeout(),
}

◉ Hygienic Macro System

Both declarative and procedural macros are now supported, enabling powerful metaprogramming while maintaining hygiene guarantees:

macro vec!($($x:expr),*) {
    {
        let mut v = Vec::new()
        $(v.push($x);)*
        v
    }
}

◉ Algebraic Effects

First-class effects with effect, perform, handle, and resume keywords enable composable control flow abstractions:

effect Async<T> {
    suspend: () -> T
}

fn async_operation() -> i32 performs Async {
    perform Async::suspend()
}

◉ Decorators

Annotation syntax for cross-cutting concerns: @timed, @memoize, @retry, @validate, and more.

◉ Compile-Time Evaluation

With const fn, comptime blocks, and static_assert!, compute at compile time what you can.

The standard library now includes 120+ functions, and incremental compilation delivers 50% faster rebuilds. WASM compilation is production-ready.

Download Lateralus SDK v0.5.0 and explore the new features in the playground.