@zena-lang.dev is not a small language OOP, mixins, sealed classes, records & tuples, value types, borrow checker, pattern matching, contracts, tail calls, pipelines... Zena has a lot of features! It's intentional though: They aid perf, correctness, and structure - which outweigh "simplicity", IMO
The Zena Programming Language
@zena-lang.dev
A new programming language for WebAssembly GC
Just landed runtime contracts in @zena-lang.dev today! It adds pre and postconditions, loop invariants, & a `debug` modifier to remove them in prod. More correctness features that are great for agentic coding workflows. Next up, units of measure and dimensional analysis! Would you use this? wdyt?
This interactive demo compiles @zena-lang.dev programs at runtime into Wasm components that import constrained network and DOM manipulation capabilities from the browser host. Even the Zena compiler is integrated as a component :D dialog-db.github.io/wasm-compone...
Zena TodoMVC · Wasm Component Model Polyfill
dialog-db.github.io
📰 Small project update, since we were so busy that we missed our weekly blog posts: - Last week we moved dev to public GitHub - We made the tests over 4x faster! - Mostly compiler fixes - Memory usage is down by 10x in some cases! - This week is value types, arg explosion, & row polymorphism
This week has been all about moving the full development workflow to public GitHub. The first tasks was speeding up tests on GitHub CI, and we just got a full run down from 43min to 5min, with the tests only taking 4min !! 🏎️ 🏁 Lots of this is compiler work, so regular programs compile faster too!
Zena Project Update #2 The CLI goes 99% self-hosted, and more! zena-lang.dev/blog/2026/10...
Zena Project Update #2: Self-Hosted CLI, Language Server, WASI 0.3, and Ranges
Our second project update covers moving the zena command line into Zena itself, adding the stdio language server (zena lsp), adopting WASI 0.3, range iteration and slicing, and compiler bug fixes.
zena-lang.dev
New on the zena-lang.dev/playground: code image generation! Click the 📸 to launch a dialog where you can choose a theme, background, and other options, and generate a PNG or SVG locally with no external tools!
Today we landed more Range support in the language and stdlib 🥳 - Iterating over ranges, with a fast-path in the compiler to emit the same bytecode as a plain C-style for loop - [] overrides on Array for slicing operations a..b is Zena's range syntax, very much like Rust. #wasm #webassembly
Working on code-image exports for the @zena-lang.dev playground. A new programming language in this era is going to need every possible sharing and viral-spread path to be as easy and pretty as possible. No copying into another tool to make nice looking code images.
New blog post on zena-lang.dev: Designing a Programming Language for the AI Era zena-lang.dev/blog/2026/09... Includes why I think a language good for humans and WebAssembly is good for AI, and why Zena is a project that's optimistic that humans have a place in software development.
Designing a Programming Language for the AI Era
What makes a programming language effective when AI agents write, test, and review code, and why being optimized for WebAssembly is being optimized for AI.
zena-lang.dev
Zena Project Update #1: Optimizations, Async, WASI Components, and the Standard Library zena-lang.dev/blog/2026/09...
Zena Project Update #1: Optimizations, Async, WASI Components, and the Standard Library
Our first project update covers the ongoing major workstreams across Zena: aggressive ZIR optimizations, structured async concurrency, deterministic ownership, WASI Preview 3 components, standard libr...
zena-lang.dev
The first real Zena blog post: Where did the name Zena come from? No, it's not the Warrior Princess, but... it's not *not* the Warrior Princess either! zena-lang.dev/blog/2026/09...
What's in a Name?
Where the name "Zena" comes from, the ancient Greek concept of xenia (guest-friendship), and what it means to be a great guest language for WebAssembly.
zena-lang.dev
Hello, Zena blog! We'll be sharing a lot more on the blog. Things like progress reports and technical deep-dives. Stay tuned! zena-lang.dev/blog/2026/09... * and yes, we need to get an RSS feed up soon!
Hello, World: Welcome to the Zena Blog
Welcome to the Zena blog, where we will share project updates, design deep dives, and tutorials for the Zena programming language.
zena-lang.dev
Reference docs are landing on zena-lang.dev! First draft of Async Cancellation is up: zena-lang.dev/reference/ca... Zena's pretty different here: Cancellation scopes are ambient & hierarchical, and cancellations have a dedicated exception-like stack unwinding channel. Looking for feedback!
Cancellation
Structured cancellation in Zena: the cancellation channel, cancel scopes, checkpoints, and cleanup.
zena-lang.dev
I think I have an interesting mitigation to the function coloring problem for single-threaded async/await-style languages... I'm curious if anyone's tried this. It's like Python's asyncio .run() but supports nesting and scoped microtask queues...
Now that we've put Zena out there a bit, we're looking for collaborators of any sort. We especially need people to give feedback on the design choices from many different perspective: developer ergonomics, the type system, compiler architecture, etc. Anyone with any level of interest is welcome!
I wrote about what I've been up to with my new programming language! Zena targets WebAssembly GC, with a TypeScript-like syntax, sound type system, and lots of cool features like pattern matching, async cancellation, borrow checking, WASI integration, and more! justinfagnani.com/2026/09/09/z...
Zena: A new Wasm-first programming language
justinfagnani.com