Wasm3 compiles itself (using LLVM/Clang compiled to WASM)

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
  • wasm3

    🚀 A fast WebAssembly interpreter and the most universal WASM runtime

    Wasm3 calls its interpreter design a "meta machine": https://github.com/wasm3/wasm3/blob/main/docs/Interpreter.md...

    It is heavily based around tail calls. I recently wrote a blog article about how we applied a similar tail-call-oriented strategy to accelerate protobuf parsing to 2+GB/s: https://blog.reverberate.org/2021/04/21/musttail-efficient-i...

    I also recently landed a change in Clang trunk that can offer guaranteed tail calls, so that this design is safe in non-opt builds: https://reviews.llvm.org/D99517 I think wasm3 could benefit from using this attribute when it is available.

  • wasm_lua

    Lua VM running in a WASM environment

    Can confirm that Lua does run in WASM in the browser: https://github.com/vvanders/wasm_lua

    I sometimes wonder what the world would be like if Lua had zero based indices and saw a bit broader adoption. It's such an easy language to embed/extends although QuickJS looks like it's going to give it a run for the money in the long term given the similar goals on ease of embedding.

    I wonder if anyone has compiled QuickJS to WASM and run it in the browser.

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

  • gc

    Branch of the spec repo scoped to discussion of GC integration in WebAssembly

  • aWsm

    WebAssembly ahead-of-time compiler and runtime. Focuses on generating fast code, simplicity, and portability.

  • llvm-project

    The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

    The musttail attribute performs several checks to ensure that a tail call can be guaranteed, and rejects the program if these rules are violated. The documentation has the details: https://github.com/llvm/llvm-project/blob/3b8ec86fd576b9808d...

  • wasmer

    🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten

    go also has good support and java has http://teavm.org/ and JWebAssembly. There is also the general https://wasmer.io/ for using web-assembly in any language. They claim they have good support for other languages like python and php but I personally never tested that.

  • teavm

    Compiles Java bytecode to JavaScript, WebAssembly and C

    go also has good support and java has http://teavm.org/ and JWebAssembly. There is also the general https://wasmer.io/ for using web-assembly in any language. They claim they have good support for other languages like python and php but I personally never tested that.

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

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