From e3accd280f160e0066536de1f046953085d95567 Mon Sep 17 00:00:00 2001 From: Eric Gregory Date: Tue, 16 Dec 2025 15:06:41 -0500 Subject: [PATCH 1/3] Add Languages page with support chart Signed-off-by: Eric Gregory --- docs/languages.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 docs/languages.md diff --git a/docs/languages.md b/docs/languages.md new file mode 100644 index 0000000..4529030 --- /dev/null +++ b/docs/languages.md @@ -0,0 +1,35 @@ +--- +title: "Languages" +sidebar_position: 2.5 +--- +## Language support for components + +Currently, these languages can be compiled to Wasm components. Some languages have first-party support for Wasm components, while other languages rely on externally maintained tools. + +| Language | Name | WASI Version | Maintained By | Notes | +| ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | 0.2 + 0.3 | W3C Wasm CG | 0.3 is in-progress | +| C# | [`componentize-dotnet`](https://github.com/bytecodealliance/componentize-dotnet) | 0.2 | Bytecode Alliance | | +| Go | [`go-modules`](https://github.com/bytecodealliance/go-modules) | 0.2 | Bytecode Alliance | | +| Java | [`graal`](https://github.com/oracle/graal) | - | Oracle | Planned - [Tracking Issue](https://github.com/oracle/graal/issues/9762), [Roadmap](https://github.com/orgs/oracle/projects/21/views/1) | +| JavaScript and TypeScript | [`jco`](https://github.com/bytecodealliance/jco) | 0.2 | Bytecode Alliance | | +| Kotlin | [Kotlin](https://kotlinlang.org/docs/wasm-wasi.html) | 0.2 | JetBrains | Planned - [Tracking Issue](https://youtrack.jetbrains.com/issue/KT-64568) | +| Python | [`componentize-py`](https://github.com/bytecodealliance/componentize-py) | 0.2 | Bytecode Alliance | | +| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | 0.2 | Python | In-progress | +| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | 0.2 | Ruby | In-progress | +| Rust | [`wasm32-wasip2`](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip2.html) compiler target | 0.2 + 0.3 | Rust Project | [0.2 Introduction](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/), [0.2 Stabilization](https://blog.rust-lang.org/2024/11/26/wasip2-tier-2/), 0.3 is planned | +| Swift | [Swift](https://www.swift.org/) | 0.2 | Swift | Planned - [Roadmap Accepted](https://forums.swift.org/t/accepted-vision-a-vision-for-webassembly-support-in-swift/80332) | + +### Bindings generators + +The bindings generators below provide a way to make Wasm function calls using [interfaces](./interfaces.md) in a given language. + +| From | To | Name | +| -------------------- | -------------------- | ------------------------------------------------------------------------------------------------- | +| Wasm Interface Types | C and C++ | [wit-bindgen c](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/c) | +| Wasm Interface Types | C# | [wit-bindgen csharp](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/csharp) | +| Wasm Interface Types | JSON Schema | [component2json](https://github.com/microsoft/wassette/tree/main/crates/component2json) | +| Wasm Interface Types | Markdown | [wit-bindgen markdown](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/markdown) | +| Wasm Interface Types | Moonbit | [wit-bindgen moonbit](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/moonbit) | +| Wasm Interface Types | Rust | [wit-bindgen rust](https://github.com/bytecodealliance/wit-bindgen/tree/main/crates/guest-rust) | +| WebIDL | Wasm Interface Types | [webidl2wit](https://github.com/wasi-gfx/webidl2wit) | \ No newline at end of file From 0ad7cb1b24b920b32a31b97752351d2a71c93ab2 Mon Sep 17 00:00:00 2001 From: Eric Gregory Date: Wed, 17 Dec 2025 19:33:06 -0500 Subject: [PATCH 2/3] update GraalWasm link and clarify notes Signed-off-by: Eric Gregory --- docs/languages.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/languages.md b/docs/languages.md index 4529030..5887cb5 100644 --- a/docs/languages.md +++ b/docs/languages.md @@ -8,15 +8,15 @@ Currently, these languages can be compiled to Wasm components. Some languages ha | Language | Name | WASI Version | Maintained By | Notes | | ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | 0.2 + 0.3 | W3C Wasm CG | 0.3 is in-progress | +| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | 0.2 + 0.3 | W3C Wasm CG | 0.3 implementation is in progress | | C# | [`componentize-dotnet`](https://github.com/bytecodealliance/componentize-dotnet) | 0.2 | Bytecode Alliance | | | Go | [`go-modules`](https://github.com/bytecodealliance/go-modules) | 0.2 | Bytecode Alliance | | -| Java | [`graal`](https://github.com/oracle/graal) | - | Oracle | Planned - [Tracking Issue](https://github.com/oracle/graal/issues/9762), [Roadmap](https://github.com/orgs/oracle/projects/21/views/1) | +| Java | [GraalWasm](https://github.com/oracle/graal/tree/master/wasm) | - | Oracle | Planned - [Tracking Issue](https://github.com/oracle/graal/issues/9762), [Roadmap](https://github.com/orgs/oracle/projects/21/views/1) | | JavaScript and TypeScript | [`jco`](https://github.com/bytecodealliance/jco) | 0.2 | Bytecode Alliance | | | Kotlin | [Kotlin](https://kotlinlang.org/docs/wasm-wasi.html) | 0.2 | JetBrains | Planned - [Tracking Issue](https://youtrack.jetbrains.com/issue/KT-64568) | | Python | [`componentize-py`](https://github.com/bytecodealliance/componentize-py) | 0.2 | Bytecode Alliance | | -| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | 0.2 | Python | In-progress | -| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | 0.2 | Ruby | In-progress | +| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | 0.2 | Python | Implementation in progress | +| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | 0.2 | Ruby | Implementation in progress | | Rust | [`wasm32-wasip2`](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip2.html) compiler target | 0.2 + 0.3 | Rust Project | [0.2 Introduction](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/), [0.2 Stabilization](https://blog.rust-lang.org/2024/11/26/wasip2-tier-2/), 0.3 is planned | | Swift | [Swift](https://www.swift.org/) | 0.2 | Swift | Planned - [Roadmap Accepted](https://forums.swift.org/t/accepted-vision-a-vision-for-webassembly-support-in-swift/80332) | From 34b997b0e200c53f6e72b0319677e52d6554d347 Mon Sep 17 00:00:00 2001 From: Eric Gregory Date: Fri, 19 Dec 2025 13:27:12 -0500 Subject: [PATCH 3/3] update GraalVM link and notes Signed-off-by: Eric Gregory --- docs/languages.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/languages.md b/docs/languages.md index 5887cb5..7c5604b 100644 --- a/docs/languages.md +++ b/docs/languages.md @@ -6,19 +6,19 @@ sidebar_position: 2.5 Currently, these languages can be compiled to Wasm components. Some languages have first-party support for Wasm components, while other languages rely on externally maintained tools. -| Language | Name | WASI Version | Maintained By | Notes | -| ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | 0.2 + 0.3 | W3C Wasm CG | 0.3 implementation is in progress | -| C# | [`componentize-dotnet`](https://github.com/bytecodealliance/componentize-dotnet) | 0.2 | Bytecode Alliance | | -| Go | [`go-modules`](https://github.com/bytecodealliance/go-modules) | 0.2 | Bytecode Alliance | | -| Java | [GraalWasm](https://github.com/oracle/graal/tree/master/wasm) | - | Oracle | Planned - [Tracking Issue](https://github.com/oracle/graal/issues/9762), [Roadmap](https://github.com/orgs/oracle/projects/21/views/1) | -| JavaScript and TypeScript | [`jco`](https://github.com/bytecodealliance/jco) | 0.2 | Bytecode Alliance | | -| Kotlin | [Kotlin](https://kotlinlang.org/docs/wasm-wasi.html) | 0.2 | JetBrains | Planned - [Tracking Issue](https://youtrack.jetbrains.com/issue/KT-64568) | -| Python | [`componentize-py`](https://github.com/bytecodealliance/componentize-py) | 0.2 | Bytecode Alliance | | -| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | 0.2 | Python | Implementation in progress | -| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | 0.2 | Ruby | Implementation in progress | -| Rust | [`wasm32-wasip2`](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip2.html) compiler target | 0.2 + 0.3 | Rust Project | [0.2 Introduction](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/), [0.2 Stabilization](https://blog.rust-lang.org/2024/11/26/wasip2-tier-2/), 0.3 is planned | -| Swift | [Swift](https://www.swift.org/) | 0.2 | Swift | Planned - [Roadmap Accepted](https://forums.swift.org/t/accepted-vision-a-vision-for-webassembly-support-in-swift/80332) | +| Language | Name | WASI Version | Maintained By | Notes | +| ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| C and C++ | [`wasi-sdk`](https://github.com/WebAssembly/wasi-sdk) | 0.2 + 0.3 | W3C Wasm CG | 0.3 implementation is in progress | +| C# | [`componentize-dotnet`](https://github.com/bytecodealliance/componentize-dotnet) | 0.2 | Bytecode Alliance | | +| Go | [`go-modules`](https://github.com/bytecodealliance/go-modules) | 0.2 | Bytecode Alliance | | +| Java | [GraalVM](https://www.graalvm.org/) | - | Oracle | Planned - [Tracking Issue](https://github.com/oracle/graal/issues/9762), [Roadmap](https://github.com/orgs/oracle/projects/21/views/1), [Presentation](https://youtu.be/uefc2t9AmQI?t=1218) | +| JavaScript and TypeScript | [`jco`](https://github.com/bytecodealliance/jco) | 0.2 | Bytecode Alliance | | +| Kotlin | [Kotlin](https://kotlinlang.org/docs/wasm-wasi.html) | 0.2 | JetBrains | Planned - [Tracking Issue](https://youtrack.jetbrains.com/issue/KT-64568) | +| Python | [`componentize-py`](https://github.com/bytecodealliance/componentize-py) | 0.2 | Bytecode Alliance | | +| Python | [`cpython`](https://snarky.ca/state-of-wasi-support-for-cpython-march-2024/) | 0.2 | Python | Implementation in progress | +| Ruby | [`ruby.wasm`](https://github.com/ruby/ruby.wasm) | 0.2 | Ruby | Implementation in progress | +| Rust | [`wasm32-wasip2`](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip2.html) compiler target | 0.2 + 0.3 | Rust Project | [0.2 Introduction](https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets/), [0.2 Stabilization](https://blog.rust-lang.org/2024/11/26/wasip2-tier-2/), 0.3 is planned | +| Swift | [Swift](https://www.swift.org/) | 0.2 | Swift | Planned - [Roadmap Accepted](https://forums.swift.org/t/accepted-vision-a-vision-for-webassembly-support-in-swift/80332) | ### Bindings generators