Pinned
WebAssembly from the Ground Up
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/
273 followers191 following75 posts
Hey friends, it's been a while! It's time for another summer sale — starting today, you can get the book for 50% off. Just head on over to wasmgroundup.com, no discount code required. So, if you've been meaning to pick it up (or you know someone who has), what better time than now?
In case you missed it last week, @dubroy.com was on CodeTV to show to talk about #Wasm with @jason.energy. It was a lot of fun! Worth a watch if you missed it live.
Did you miss @dubroy.com teaching us about WebAssembly No worries! Check out our conversation on the Web Dev Podcast, then code along with us on Learn with Jason. WDP: codetv.dev/series/web-d... LWJ: codetv.dev/series/learn...
WebAssembly from the Ground Up reposted
New post on the @ohmjs.org blog — Inside Ohm's PEG-to-Wasm compiler → ohmjs.org/blog/2026/03... v18 is now more than 50x faster for real-world grammars while using about 10% of the memory 🔥 …this post goes into the details of how it's built.
WebAssembly from the Ground Up reposted
Tomorrow at 17:20 CET / 12:20 EDT / 9:20 PDT, I'll be livestreaming at twitch.tv/jlengstorf, teaching @jason.energy about WebAssembly!! I'll do my best to condense the best parts of our Wasm book (@wasmgroundup.com) into ~60 minutes. 😄
Ohhh this is cool: github.com/dy/jz JS syntax that compiles to pure WASM. No runtime, no GC.
WebAssembly from the Ground Up reposted
WebAssembly from the Ground Up reposted
A while back, someone in the @wasmgroundup.com Discord asked about resources for learning the formal notation used in the WebAssembly spec. One I like is Jeremy Siek's "Crash Course on Notation in Programming Language Theory": siek.blogspot.com/2012/07/cras...
Is it the end of February already?? Yes, yes it is. Which means we just sent out our #Wasm tidbits. Sign up here to get it in your inbox once a month (ish): sendfox.com/wasmgroundup
WebAssembly from the Ground Up reposted
Spritely Hoot, our Scheme->WASM compiler (and all-around WASM toolkit) hits 0.8.0, and this one is a BIG release! spritely.institute/news/hoot-0-... For the first time you can LIVE develop web applications using Hoot, from the comfort of your own editor! See the video at the top!
We've released a new version of @wasmground/emit — the small, simple #Wasm 1.0 "assembler library" for JS/TS, which we build up piece by piece in our book. The headline feature: proper TypeScript types! Give it a spin and let us know what you think: www.npmjs.com/package/@was...
WebAssembly from the Ground Up reposted
**for early adopters** The WebRacket repo is now public at github.com/soegaard/web... The WebRacket language is a subset of Racket that compiles to WebAssembly examples github.com/soegaard/web... and racket-stories.com/static/minis... a small Scheme interpreter
Happy Friday! We just published a new blog post — A WebAssembly Interpreter: Part 2 → wasmgroundup.com/blog/wasm-vm... In the first post, we wrote a small #Wasm interpreter from scratch in JS. In Part 2, we extend the interpreter to support local and global variables.
WebAssembly from the Ground Up reposted
Version 121 of Binaryen, the WebAssembly optimizer, is out: github.com/WebAssembly/... Compilation is now much faster on GC content, up to 2x.
Just sent out our #Wasm tidbits for January. All the coolest kids at FOSDEM subscribe, why don't you? https://sendfox.com/wasm...
We just sent out our last newsletter of the year, chock full of Wasm tidbits and captivating compiler content. Not signed up? You're missing out! Get on the list at sendfox.com/wasmgroundup
Are you sad that Advent of Code is already over, and looking for a new challenge to close out the year? Why not learn some #Wasm? Until Jan 7, you can get our book for 25% off! Just head to wasmgroundup.com and use the code HOLIDAY25.
If you're into compilers or interested in low-level programming, don't miss @matt.godbolt.org's Advent of Compiler Optimizations! I've learned a few new things every day…Saturday's post was no exception: xania.org/202512/06-di...
Wasm Maze by Kenny Fully → kennyfully881230.github.io/wasm_fun/was... "I ended up learning a lot about how to use linear memory to render one time to the canvas on every frame. Not only that, I learn how to do collisions, sprite clipping etc all in Wasm." Source code: github.com/kennyfully88...
Per your request, please find enclosed…a new blog post! A WebAssembly interpreter (Part 1) → wasmgroundup.com/blog/wasm-vm... We build up a simple interpreter from scratch, in JavaScript, for a small subset of Wasm instructions (arithmetic and comparison).
This is something we thought about in our book…that's why the first (proper) chapter ends by producing a minimal (but valid) Wasm module.
"Some compiler-development experiences are long slogs where you write code for months without ever having a thing that produces an actual executable that you can run." "My First Fifteen Compilers" by Lindsey Kuper blog.sigplan.org/2019/07/09/m...
WebAssembly from the Ground Up reposted
Ever thought about writing #WebAssembly by hand? 🤔 Authors Patrick @dubroy.com and @marianoguerra.org think it's crucial for learning. They join #WasmAssembly host Thomas Steiner to discuss their ebook, "WebAssembly from the Ground Up" → goo.gle/3Ln67Pp
WebAssembly from the Ground Up reposted
Today I presented to the Wasm CG a proposal for fine-grained dynamic code generation as a core WebAssembly feature. The proposal is now at phase 1! github.com/WebAssembly/... Also immortalized in song: suno.com/song/19e0679...
WebAssembly from the Ground Up reposted
This week the W3C WebAssembly Community Group is holding an in-person meeting in Munich. We (@dubroy.com and @marianoguerra.org) are planning to be there. Patrick tomorrow, and both of us on Thursday for the Research Day. If you see us, come say hi!
WebAssembly from the Ground Up reposted
📢 New #WasmAssembly podcast 🎙️ episode: #WebAssembly from the Ground Up with @dubroy.com and @marianoguerra.org. Learn how they're teaching #Wasm by building a compiler in JavaScript and why writing Wasm by hand is crucial! 🍿 www.youtube.com/watch?v=dRdD... 🎧 wasmassembly.libsyn.com/webassembly-...
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.
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.
WebAssembly from the Ground Up reposted
The WebAssembly 3.0 spec is complete! webassembly.org/news/2025-09... This includes major features like GC, 64-bit memories, exceptions, and tail calls.
WebAssembly from the Ground Up reposted
@dubroy.com alerted me to the Safari release notes (developer.apple.com/documentatio...) say version 26 ships an in-place interpreter for WebAssembly, which is in part based on the Wizard design, but adapted for Safari's use cases. This is cool! Wasm brings all the VMs to tiers!
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/)
Many of our friends in North America are back to school already, but we've still got two more weeks of holidays over here. Which means: it's not too late to snag a copy of the book in our summer sale!
The summer holidays just started here in southern Germany. So, it's time for a ☀️ SUMMER SALE ☀️ — Use the code SUMMER25 for a 25% discount on the book until Sept 15: wasmgroundup.com
WebAssembly from the Ground Up reposted
Lately I’ve been learning more about WebAssembly fundamentals by reading this fantastic book: wasmgroundup.com . It’s really well written and focuses on how WebAssembly is written by teaching you to write a compiler for it. Which is honestly pretty genius.
The summer holidays just started here in southern Germany. So, it's time for a ☀️ SUMMER SALE ☀️ — Use the code SUMMER25 for a 25% discount on the book until Sept 15: wasmgroundup.com
WebAssembly from the Ground Up reposted
Pretty pleased with the ergonomics of the Wasm (macro-)assembler in @ohmjs.org. It's built on the low-level assembler lib we created for @wasmgroundup.com, but has some nice higher-level features, including labeled breaks. I'm particularly proud of the idea to put the block label at the end. 😊
WebAssembly Branch Hinting: From an idea to W3C standard → labs.leaningtech.com/blog/branch... An interesting look at journey from an idea ("it should would be nice if Wasm supported this…") to a standardized feature.
WebAssembly from the Ground Up reposted
Replying to @ohmjs.org
We're still looking for more sponsors! If you or your company can help fund this effort: github.com/sponsors/pd... Since 2017, my work on Ohm has been unpaid. Your sponsorship helps the project be sustainable, ensuring that I can maintain and improve Ohm for many years to come!
WebAssembly from the Ground Up reposted
acm queue issue out on webassembly, with articles by @littledan.dev, conrad watt, ben titzer, & yours truly: queue.acm.org/issuedetail....
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...
WebAssembly from the Ground Up reposted
Here's what I've been working on the past couple months! It's been a lot of fun, and the prototype shows some promising perf improvements (~10x). It's still about 8–10 weeks of effort to productionize this. If you or your company can help fund that work, please get in touch!
Ever wanted to use Ohm from another language? Go, Python, Rust? See the brand new, experimental support for compiling Ohm grammars to Wasm: github.com/ohmjs/ohm/d... It wasn't the main goal, but it also appears to be a perf win — parsing is about 10x faster on real-world grammars (e.g. ES5).