bytecodealliance / bytecodealliance/wasm-tools
Add support for nested namespaces and packages
- 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
Assessment
This issue has not been assessed yet.