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

Pinned

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. 👇

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.

CodeTV@codetv.dev

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

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...

siek.blogspot.comCrash Course on Notation in Programming Language TheoryThis blog post is meant to help my friends get started in reading my other blog posts, that is, this post is a crash course on the notation ...

A very readable doc about V8's new bytecode verifier. Readers of our book may notice the similarity to the Wasm security model — see this excerpt from the chapter "What makes WebAssembly safe?"

One of our goals in the book was to encourage readers to become familiar with the WebAssembly spec. That's why, in the library we create for producing Wasm modules, we aim for "eye-closeness" with the spec. Left: code from the book. Right: the 1.0 spec text.

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.

Patrick Dubroy@dubroy.com

"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

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-...

youtube.comWebAssembly from the Ground Up with Patrick Dubroy and Mariano GuerraYouTube video by Chrome for Developers

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

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 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!

github.comSponsor @pdubroy on GitHub SponsorsI'm the lead developer of Ohm (ohmjs.org), a user-friendly parsing toolkit for JavaScript and TypeScript. I also created the Ohm Editor, and the interactive visualization for understanding and ...

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!

OhmJS@ohmjs.org

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).