Gossamer: a Rust-flavoured language with real goroutines and pause-free memory

Hacker News Top Products

Summary

Gossamer is a new programming language inspired by Rust that features real goroutines, pause-free deterministic memory management with reference counting and arenas, and a bytecode VM with LLVM compilation. It aims to provide expressive syntax without a borrow checker or garbage collector pauses.

No content available
Original Article
View Cached Full Text

Cached at: 06/26/26, 08:20 PM

# Gossamer Source: [https://gossamer-lang.org/](https://gossamer-lang.org/) ## Why Gossamer ### Expressive and clear syntax Forward pipes \(`\|\>`\), immutable by default, and one obvious way to do things\. Data flows top\-to\-bottom, the way you wrote it — not nested inside\-out\. ### Automatic memory, no GC pauses Deterministic reference counting plus`arena \{ \}`regions reclaim memory the moment it's done\. No borrow checker, no lifetimes, no stop\-the\-world collector\. ### Real goroutines, colorless functions `go`and typed channels on an M:N scheduler\. Blocking calls park the goroutine, not the thread\. No`async`, no`await`, no function colouring\. ### Run it, or ship it A bytecode VM and a REPL for fast iteration; a single, dependency\-free native binary via LLVM when you ship\. Same language, your choice of tier\. ### Familiar types, fewer surprises `Result`/`Option`/`?`, exhaustive`match`, traits, generics, and no`null`\. If you know Rust, Go, or F\#, you can already read it\. ### Batteries included, extensible in Rust A broad standard library — HTTP, JSON, crypto, SQL, compression, and more — and a clean path to drop down into safe Rust when you need it\. ## See it in a few lines Hit**Run**on any sample — it executes right in your browser, no install\. Gossamer's VM is compiled to[WebAssembly](https://gossamer-lang.org/docs/wasm/)\. ``` fn double(x: i64) -> i64 { x * 2 } fn add(a: i64, b: i64) -> i64 { a + b } fn clamp(lo: i64, hi: i64, x: i64) -> i64 { if x < lo { lo } else if x > hi { hi } else { x } } fn main() { let n = 3 |> double |> add(10) |> clamp(0, 100) println!("answer: {}", n) } ``` ## Coming from another language? Short, focused guides that map what you already know onto Gossamer\. ## Get started Write a`\.gos`file and run it with the`gos`toolchain — no build step needed while you iterate: ``` $ gos run hello.gos hello, gossamer $ gos build --release hello.gos # one native binary, ready to ship ``` Runs on Linux \(x86\_64, aarch64, armv7\), macOS \(Intel & Apple Silicon\), and Windows \(x86\_64\)\. [Install →](https://gossamer-lang.org/docs/install/)[Read the docs](https://gossamer-lang.org/docs/)

Similar Articles

Meta Garbage Collection: Using OCaml's GC to GC Rust

Lobsters Hottest

Soteria Rust, a symbolic execution tool for verifying Rust programs, uses OCaml's garbage collector to manage memory for its Tree Borrows aliasing model, achieving a 10x speedup and reducing time complexity from quadratic to linear.

Rust to WGSL transpiler `wgsl-rs` released

Lobsters Hottest

The beta of `wgsl-rs`, a Rust-to-WGSL transpiler, has been released on crates.io, covering work like operator precedence fixes, vector equality handling, literal-suffix inference, and runtime wgpu codegen from an IR.