Here is a list of topics to utilize Component Model in SwiftWasm:
Support -emit-library with Reactor model
Currently, we only support -emit-executable, so .wasm binary always have main even though it's compiled with -mexec-model=reactor. We should allow linking .wasm without main entrypoint as a self-contained component. (Note that it does not mean we should support dynamic linking)
Thanks to C interop, we can already export and import things using Component Model compatible tools using wit-bindgen's C code generator. If we can add Swift code generator to the wit-bindgen, it would be much easier to utilize the Component Model in Swift world.
Component Model would be one of the most significant ecosystem changes in WebAssembly: https://bytecodealliance.org/articles/webassembly-the-updated-roadmap-for-developers
Here is a list of topics to utilize Component Model in SwiftWasm:
-emit-library
with Reactor model Currently, we only support-emit-executable
, so .wasm binary always havemain
even though it's compiled with-mexec-model=reactor
. We should allow linking .wasm without main entrypoint as a self-contained component. (Note that it does not mean we should support dynamic linking)wasi_snapshot_preview1.wasm
Links
https://bytecodealliance.org/articles/component-model-tooling-compatibility