bytecodealliance / bytecodealliance/wasm-tools

Add support for nested namespaces and packages

Open
#2,393 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Rust
Stars
1.8k
Forks
351
Avg merge
16h 57m
Merged PRs (30d)
38

Description

This tracks support for the 🪺-gated feature in the [WIT spec](https://github.com/WebAssembly/component-model/blob/1ba749ebb91c52ceb9040bac4dec0705cb034a96/design/mvp/WIT.md) (nested package namespaces and names).

Related:
- https://github.com/bytecodealliance/wit-bindgen/issues/1224
- https://github.com/WebAssembly/component-model/issues/549

I'm working on a [rough draft](https://github.com/bytecodealliance/wasm-tools/compare/main...ouillie:wasm-tools:multi-namespace) to address this in `wasm-tools`. Happy for any feedback on the approach so far. In particular, I don't understand what a "projection" is or how this might interact / interfere with this design. I'm also wondering about the TODO I noted [here](https://github.com/bytecodealliance/wasm-tools/compare/main...ouillie:wasm-tools:multi-namespace#diff-17b4facb6adbe870345b29ede8cfe6dfe818260fb6b359e0bc6952981899d993), where a key in the encoding map appears to use the syntax `package:namespace:package/name/interface-name/function-name`, which I fear might introduce an ambiguity. Perhaps nested package names should use a different separator other than `/`, like `.`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.