惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Proofpoint News Feed
D
Docker
Google DeepMind News
Google DeepMind News
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
云风的 BLOG
云风的 BLOG
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
IT之家
IT之家
H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
B
Blog
D
DataBreaches.Net

Lobsters

CIFSwitch: a non-universal Linux local root vulnerability RIPE NCC session fixation: poaching logins with an Atlas probe GNOME 2.20 but its Web Components Agentic Search for Context Engineering – Leonie Monigatti Garnix is shutting down [not OC] akashina.tngl.sh/jjc Concerning Emacs (and Jazz) Nitpicking the shell history scene in ‘Tron: Legacy’ What's cooking on SourceHut? Q2 2026 The tenth OpenPGP email summit Package managers that package package managers Clojure on Fennel part three: parsing WordPress at 23 Finding Miscompiles for Fun, Not Profit GitHub - creusot-rs/creusot: Creusot helps you prove your Rust code is correct. Announcing Rust 1.96.0 | Rust Blog A Love Letter to Neovim sqlite AGENTS.md Am I a Bad Friend? CSS vs. JavaScript • Josh W. Comeau Erlang Ecosystem Foundation - Supporting the BEAM community A brief note about slot access cost in Common Lisp Keyboard latency probe Rethinking the GNOME clipboard issues Back to the Building Blocks’ Building Blocks Tech Notes: Theseus: translating win32 to wasm Fast is better than slow Content-addressed Rust builds (or, what kache actually caches) Intent to Prototype: Embedding API Canada’s Bill C-22 and the security cost of collecting more data
Gossamer
mwheeler · 2026-06-27 · via Lobsters

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.

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 → Read the docs