Lateralus v0.5.0: The Expansion Release
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.