What's New in v1.9
Wyn v1.9 is the biggest release yet — focused on expressiveness, completeness, and reliability.
Method Chaining
Every method that returns a value can be chained. Arrays, strings, everything.
wyn
var top3 = [5, 3, 8, 1, 9, 2, 7].sort().reverse().slice(0, 3)
var clean = " HELLO WORLD ".trim().lower().replace("world", "wyn")
var count = nums.filter(fn(x: int) -> bool { return x > 3 }).sort().len()Multiline Lambdas
Lambda bodies can now contain multiple statements.
wyn
var processed = nums.map(fn(x: int) -> int {
var squared = x * x
var adjusted = squared + 1
return adjusted
})Named Arguments
Call functions with named parameters in any order.
wyn
fn create_user(name: string, age: int, role: string = "member") -> string {
return name + " (" + role + ")"
}
create_user(name: "Alice", age: 30)
create_user(role: "admin", name: "Bob", age: 25)Tuple Types
Functions can return multiple values.
wyn
fn divmod(a: int, b: int) -> (int, int) {
return (a / b, a % b)
}
var result = divmod(17, 5)
println(result.0.to_string()) // 3
println(result.1.to_string()) // 2Generic Structs
Structs with type parameters.
wyn
struct Pair<T> {
first: T
second: T
}
var p = Pair { first: 10, second: 20 }
println(p.first.to_string()) // 10New Stdlib Methods
| Type | New Methods |
|---|---|
| Array | first(), last(), min(), max(), sum(), each(fn), every(fn), flat_map(fn) |
| Int | times(fn), clamp(min, max) |
| Math | pow(b, e), ceil(x), floor(x), round(x), min(a, b), max(a, b) |
| String | pad_left(n, ch), pad_right(n, ch) |
Cross-Compilation
Build Linux binaries from macOS:
bash
wyn build --target linux-x64 app.wyn # → ELF x86_64
wyn build --target linux-arm64 app.wyn # → ELF ARM64Package Lockfiles
bash
wyn pkg install redis # writes wyn.lock
wyn pkg restore # installs from wyn.lockImproved Lambda Captures
Lambdas now correctly capture variables from method calls, function calls, and nested expressions — not just binary operands.
Memory Management
- Block-scoped RC release — strings in loops/if/while no longer leak
await_allcorrectly handles string-returning spawns
Test Suite
90 tests, zero flakes. Build sequentially, run concurrently.
Other Releases
- What's New in v1.11 — developer experience
- What's New in v1.10 — quality and performance