WASM Instructions

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

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • wasm

    A fast Pascal (Delphi) WebAssembly interpreter (by marat1961)

  • Related:

    A fast Pascal (Delphi) WebAssembly interpreter:

    https://github.com/marat1961/wasm

    WASM-4:

    https://github.com/aduros/wasm4

    Curated list of awesome things regarding WebAssembly (wasm) ecosystem:

    https://github.com/mbasso/awesome-wasm

    Also, it would be nice if there was a WASM (soft) CPU for QEMU, which (if it existed!) would go here:

    https://github.com/qemu/qemu/tree/master/target

  • wasm4

    Build retro games using WebAssembly for a fantasy console.

  • Related:

    A fast Pascal (Delphi) WebAssembly interpreter:

    https://github.com/marat1961/wasm

    WASM-4:

    https://github.com/aduros/wasm4

    Curated list of awesome things regarding WebAssembly (wasm) ecosystem:

    https://github.com/mbasso/awesome-wasm

    Also, it would be nice if there was a WASM (soft) CPU for QEMU, which (if it existed!) would go here:

    https://github.com/qemu/qemu/tree/master/target

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • awesome-wasm

    😎 Curated list of awesome things regarding WebAssembly (wasm) ecosystem.

  • Related:

    A fast Pascal (Delphi) WebAssembly interpreter:

    https://github.com/marat1961/wasm

    WASM-4:

    https://github.com/aduros/wasm4

    Curated list of awesome things regarding WebAssembly (wasm) ecosystem:

    https://github.com/mbasso/awesome-wasm

    Also, it would be nice if there was a WASM (soft) CPU for QEMU, which (if it existed!) would go here:

    https://github.com/qemu/qemu/tree/master/target

  • QEMU

    Official QEMU mirror. Please see https://www.qemu.org/contribute/ for how to submit changes to QEMU. Pull Requests are ignored. Please only use release tarballs from the QEMU website.

  • Related:

    A fast Pascal (Delphi) WebAssembly interpreter:

    https://github.com/marat1961/wasm

    WASM-4:

    https://github.com/aduros/wasm4

    Curated list of awesome things regarding WebAssembly (wasm) ecosystem:

    https://github.com/mbasso/awesome-wasm

    Also, it would be nice if there was a WASM (soft) CPU for QEMU, which (if it existed!) would go here:

    https://github.com/qemu/qemu/tree/master/target

  • orca

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

  • Orca is also worth checking out. Still in development, but very usable.

    https://github.com/orca-app/orca

  • doom-sokol

    Doom (shareware) ported to the Sokol headers.

  • Here are a couple of real-world examples, these are all C/C++ code bases which run across Linux, macOS, Windows, iOS, Android and in browsers without porting:

    Home computer emulators: https://floooh.github.io/tiny8bit/

    CPU simulators for Z80 and 6502:

    https://floooh.github.io/visualz80remix/

    https://floooh.github.io/visual6502remix/

    The shareware version of Doom:

    https://floooh.github.io/doom-sokol/

    Samples for the cross-platform libraries this stuff is built on top: https://floooh.github.io/sokol-html5/

    WASM (and asm.js before it) turn the web into "just another platform" for cross-platform code bases written in any language that can compile to WASM, and that's pretty great.

  • spec

    WebAssembly specification, reference interpreter, and test suite. (by WebAssembly)

  • You can parse many things from this file, what are you trying to extract?

    https://github.com/WebAssembly/spec/blob/main/document/core/...

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • proposals

    Tracking WebAssembly proposals (by WebAssembly)

  • Block only. There’s a tail call proposal[1] that’s in phase 4 (nearly standardized).

    [1]: https://github.com/WebAssembly/proposals

  • watlings

    Learn WebAssembly by writing small programs!

  • If we’re doing self promo, I’ve got something similar but significantly smaller in scope:

    https://github.com/EmNudge/watlings

  • website

    WebAssembly website (by WebAssembly)

  • Also note that that webpage can be somewhat out of date; for instance, see here for some recent edits to it (e.g. features Node had implemented that were marked as unavailable): https://github.com/WebAssembly/website/commits/main/

  • jq-wasi

    Command-line JSON processor compiled using wasi-sdk

  • Oh it’s certainly looking like that IMO.

    You can run wasm in k8s: https://krustlet.dev/

    Docker itself can run wasm: https://wasmlabs.dev/articles/docker-without-containers/

    There are a few serverless runtimes based on wasm: https://wasmcloud.com/

    A lot of those are powered by wasmtime or WasmEdge.

    If you’re wanting to be able to just pull down a random app and run it as wasm, that’s inherently harder with wasm, because you have to recompile, and amazing compiling stuff is always harder than it should be. For example I compiled jq to wasm to other day, so you dont have to worry (as much) about the CVEs that was issued recently. https://github.com/rockwotj/jq-wasi

  • krustlet

    Kubernetes Rust Kubelet

  • Oh it’s certainly looking like that IMO.

    You can run wasm in k8s: https://krustlet.dev/

    Docker itself can run wasm: https://wasmlabs.dev/articles/docker-without-containers/

    There are a few serverless runtimes based on wasm: https://wasmcloud.com/

    A lot of those are powered by wasmtime or WasmEdge.

    If you’re wanting to be able to just pull down a random app and run it as wasm, that’s inherently harder with wasm, because you have to recompile, and amazing compiling stuff is always harder than it should be. For example I compiled jq to wasm to other day, so you dont have to worry (as much) about the CVEs that was issued recently. https://github.com/rockwotj/jq-wasi

  • design

    WebAssembly Design Documents

  • I should add, however, that the unmentioned elephant in the room is V8 JIT (TurboFan), which simply doesn't handle irreducible control flow. While there are some valid theoretical arguments around the current arrangement in Wasm, looking at the history of the associated discussions makes it pretty obvious that having V8 support Wasm and generate fast code similar to what it can do for asm.js was an overriding concern in many cases. And Google straight up said that if Wasm has ICF, they will not bother supporting such cases, so it will be done by a much slower fallback:

    https://github.com/WebAssembly/design/issues/796#issuecommen...

    AFAIK no other Wasm implementation has the same constraint - the rest generally tend to desugar everything to jumps and then proceed from there. So this is, at least to some extent, yet another case of a large company effectively forcing an open standard to be more convenient for them specifically.

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