WebAssembly from the Ground Up
banner
wasmgroundup.com
WebAssembly from the Ground Up
@wasmgroundup.com
A book about WebAssembly by @marianoguerra.org and @dubroy.com — learn Wasm by building a simple compiler in JavaScript.

https://wasmgroundup.com/
Interesting paper presented at MPLR yesterday — "A Snapshot of the Performance of Wasm Backends for Managed Languages"
users.cs.northwestern.edu/~robby/pubs/...

Benchmarks Wasm implementations of Dart, Haskell, Scheme, OCaml, Ruby against the native impls.
October 14, 2025 at 4:34 AM
An interesting article about how Figma moved from WebGL to WebGPU —

Figma rendering: Powered by WebGPU
www.figma.com/blog/figma-r...

Also talks a bit about their overall app architecture, and how they use #wasm.
September 29, 2025 at 2:36 PM
Nice use of Wasm — bundling lightweight WebAssembly decoders with the data.

AnyBlox: A Framework for Self-Decoding Datasets
gienieczko.com/anyblox-paper

/ht Jamie Brandon (www.scattered-thoughts.net/log/0054/)
September 12, 2025 at 1:09 PM
A good question we were asked recently —

"Does V8 optimize WebAssembly similar to JS?"

The latest post on the V8 blog, "Speculative Optimizations for WebAssembly using Deopts and Inlining", provides some answers!

v8.dev/blog/wasm-s...
June 26, 2025 at 7:58 AM
Wireworld is a kind of cellular automaton, similar to Conway's Game of Life.

Wasm4-Wireworld is an implementation of Wireworld WASM-4 "fantasy console" using Hoot, a Scheme-to-Wasm compiler: spritely.institute/news/hoot-wi...
April 25, 2025 at 3:29 PM
Great article by @saelo.bsky.social about the V8 sandbox: v8.dev/blog/sandbox

"the overall construction is therefore not unlike the sandboxing model used by WebAssembly"
April 17, 2025 at 8:27 AM
Just published a new release of the book with some minor updates:

• Added "debugging" section to About the Code
• Appendix now has all remaining instructions from the 1.0 spec
• (PDF) Fixed some code blocks which didn't show full contents

+More! It's all in the changelog.
April 10, 2025 at 3:43 PM
Something handy for anyone who's trying to debug generated wasm…

A PR of ours was merged into the wabt repo yesterday. In the JS version of wasm2wat, you can now opt to skip validation — just like the `--no-check` option in the CLI.

Try it out here: webassembly.github.io/wabt/demo/w...
April 10, 2025 at 8:47 AM
Here's a peek inside the book. You can also read a few sample chapters here: wasmgroundup.com/book/content...
March 12, 2025 at 4:40 PM
Excited to announce the official launch of our online book, WebAssembly from the Ground Up! 🎉

It's the book we wish we'd had 3 years ago.

No messing with tools and frameworks. It's a hands-on guide to the core of Wasm: the instruction set and module format.

Link below. 👇
March 10, 2025 at 1:19 PM
With the official launch of the book being next week, we figured it's about time we wrote a Conclusion chapter 😅

Lots more small tweaks & improvements coming this week…
February 24, 2025 at 2:54 PM
Just published another update to the book: a draft of our last technical chapter, "Odds & Ends". 🎉

It covers a few features that we didn't have room for in the main track of the book: global variables, tables, and the element section.
February 14, 2025 at 2:30 PM
Happy Friday! We've just published a draft of the FINAL technical chapter of the book.

It's called "What Makes WebAssembly Safe?" and we think you're going to enjoy it.
January 31, 2025 at 3:51 PM
Nice to see that @moonbitlang.bsky.social is continuing to make progress!

MoonBit is a new, Wasm-native programming language with a syntax similar to Rust (although it has a GC): docs.moonbitlang.com/en/latest/
January 24, 2025 at 12:25 PM
SpiderMonkey WASI demo — the SpiderMonkey JS engine, compiled to WebAssembly, running in the browser
mozilla-spidermonkey.github.io/sm-wasi-demo/
January 18, 2025 at 7:12 PM
Love this idea!

WebAssembly Wizardry: "Tiny programming challenges designed for learning about WebAssembly by writing it by hand."
github.com/danprince/w...
December 28, 2024 at 10:29 AM
Hello! We're looking for 1-2 people **who've already bought the book but haven't yet started** and are interesting in working through the first 1-2 chapters LIVE on a video call with me.

Interested? Reply here or to the post on the #announcements channel in the book's Discord.
December 21, 2024 at 12:56 PM
This is the final chapter in the main part of the book. That means…we're almost done!

With today's release, we've also removed draft status from Chap. 7–9. Early next year, we'll be releasing the final chapter, a deep dive on what makes WebAssembly "safe".

And then…launch! 🚀
December 16, 2024 at 2:37 PM
Hello Wasmites —

We've got a big update for you today, just in time for the holidays! It's a draft of Chapter 10: Arrays and Strings. 🎉

This is definitely one of the most technically challenging chapters of the book…but we think you're going to like it!
December 16, 2024 at 2:37 PM
It's really good news for dynamic languages. WasmGC is now supported in all the major browsers and JS runtimes.
December 12, 2024 at 11:49 AM
Big news! Safari 18.2 is out, with support for WasmGC and tail calls: webkit.org/blog/16301/...
December 12, 2024 at 11:49 AM
Turns out there's a lot of stuff to cover before we can print to the console.

- Building an instantiating modules
- Defining functions
- Importing functions
- Linear memory
etc.

Yes, we like doing things the hard way.
December 11, 2024 at 2:51 PM
Many programming books start with a small program that prints "Hello, world.”

But this book is different. It's only at the end of Chapter 10 that we're ready to tackle that. 😅

Looking forward to releasing the draft very soon!
December 11, 2024 at 2:51 PM
Some *very* interesting Wasm-related features in the latest version of Deno (v2.1): https://docs.deno.com/runtime/reference/wasm/

• Import .wasm modules directly
• Calls into WebAssembly are type checked (!)
• Wasm modules can import .ts modules directly (!!)
November 22, 2024 at 5:19 PM
Hello, World! (from the ground up)
November 22, 2024 at 1:20 PM