I Wrote a WebAssembly VM in C

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
  1. wasmer

    🚀 Fast, secure, lightweight containers based on WebAssembly

    Hey, Syrus here from Wasmer. Wasmer supports most of the Wasm-C-API, with some exceptions: finalize, hostref, threads and table.

    https://github.com/wasmerio/wasmer/blob/main/lib/c-api/tests...

    If you are interested in running any of these cases using Wasmer via the Wasm-C-API please let us know... it should be mostly trivial to add support!

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. semblance

    My little WebAssembly interpreter (by irrio)

    This is an interesting approach, good work.

    For anyone that wants to check where the meat is at, feel free to take a look this project: https://github.com/irrio/semblance/blob/main/src/wrun.c

    Thinking out loud, I think it would have been a great idea to try to conform to the Wasm-C-API (https://github.com/WebAssembly/wasm-c-api) as a standard interface for the project (which Wasmer, V8, wasmi and many more have adopted), as this would probably increase the chances for adoption.

  4. wasm-c-api

    Wasm C API prototype

    This is an interesting approach, good work.

    For anyone that wants to check where the meat is at, feel free to take a look this project: https://github.com/irrio/semblance/blob/main/src/wrun.c

    Thinking out loud, I think it would have been a great idea to try to conform to the Wasm-C-API (https://github.com/WebAssembly/wasm-c-api) as a standard interface for the project (which Wasmer, V8, wasmi and many more have adopted), as this would probably increase the chances for adoption.

  5. winter

    Winter is a WebAssembly interpreter for compiler development (by peterseymour)

    I found this article very interesting with regards direct WASM interpretation: https://arxiv.org/abs/2205.01183

    I produced https://github.com/peterseymour/winter on the back of it and learnt WASM is not as simple as it should be.

  6. orca

    A Wasm environment for cross-platform, sandboxed graphical applications. (by orca-app)

    Take a look at Orca [0] since I think you'd be a great contributor there.

    [0] https://orca-app.dev

  7. container2wasm

    Container to WASM converter

    https://github.com/ktock/container2wasm/issues/146

    There is a "Direct Sockets API in Chrome 131" but not in FF; so WebRTC and WebSocket relaying is unnecessary for WASM apps like WebVM:

  8. WASI

    WebAssembly System Interface

  9. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
  10. meetings

    WebAssembly meetings (VC or in-person), agendas, and notes

    The WebAssembly tail call proposal has been accepted, finished, and implemented for over two years now. https://github.com/WebAssembly/meetings/blob/main/main/2023/...

  11. wasm-micro-runtime

    WebAssembly Micro Runtime (WAMR)

    The person I replied to just said it is 266MB because it includes a compiler, and that obviously isn't true.

    https://github.com/bytecodealliance/wasm-micro-runtime

    This says 4000 lines

    https://github.com/explodingcamera/tinywasm

    What are we talking about here? There is obviously no reason a wasm jit has to be 266 MB

  12. tinywasm

    A tiny, interpreted WebAssembly Runtime written in Rust

    The person I replied to just said it is 266MB because it includes a compiler, and that obviously isn't true.

    https://github.com/bytecodealliance/wasm-micro-runtime

    This says 4000 lines

    https://github.com/explodingcamera/tinywasm

    What are we talking about here? There is obviously no reason a wasm jit has to be 266 MB

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • WebAssembly on Kubernetes

    13 projects | dev.to | 6 Mar 2025
  • WASM Will Replace Containers

    21 projects | news.ycombinator.com | 11 Feb 2025
  • Get in loser. We're rewinding the stack

    2 projects | news.ycombinator.com | 11 Feb 2025
  • Introducing Spin 3.0

    11 projects | dev.to | 12 Nov 2024
  • The BPF instruction set architecture is now RFC 9669

    1 project | news.ycombinator.com | 5 Nov 2024