August 2026 Rustacean Meetup

August 2026 Rustacean Meetup

Bhavya Bhatt

@spino17

Writing your own interpreter in Rust

Submitted Aug 3, 2026

TraceWasm: Building a WebAssembly Interpreter from Scratch

TraceWasm is a WebAssembly interpreter I’m building from the ground up, with every core data structure and algorithm implemented by hand — no LLM-generated code. Its goal is to analyze the runtime behavior of any program targeting wasm32-unknown-unknown, which includes the full range of Rust programs that compile to WASM.

The tracing layer captures hot paths, heap allocations, cache misses, and memory access patterns. When a trap occurs, it produces complete DWARF-derived stack traces of the WASM frames, mapped back to the original Rust source.

Takeaways

  1. How a stack-based virtual machine actually works. Attendees will see the internals of a stack machine end to end — the operand stack, frame layout, control flow, and dispatch loop. Since Python, Ruby, and Lua all run on stack-based VMs, this maps directly onto the runtime behavior of languages people use every day.

  2. How to implement a bytecode interpreter yourself. I’ll walk through the concrete decisions involved in building an interpreter for a bytecode format: decoding, validation, execution, and instrumentation. These techniques transfer to JVM bytecode, CPython bytecode, and any other bytecode you might want to tackle next.

Target Audience

Systems engineers and Rust developers who are excited by compilers and runtimes.

About Me

I’m Bhavya Bhatt, a founding engineer at Weilliptic Inc. I work on Rust systems, where I built the production-grade Weilliptic Interface Language (WIDL) and its compiler toolchain, including the LSP server. I’ve also written a vector database in Rust, an async runtime for Rust WASM modules, and an agentic framework, and I lead development of the open-source Rust SDK for building Weil applets.

Talk Details

Estimated Time: 45 minutes - 1 Hr
Email: bhavyabhatt17@gmail.com

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

A community of Rust language contributors and end-users from Bangalore. We have presence on the following telegram channels https://t.me/RustIndia https://t.me/fpncr LinkedIn: https://www.linkedin.com/company/rust-india/ X/Twitter: https://x.com/IndiaRust more