component-model
component-model copied to clipboard
Repository for design and specification of the Component Model
As discussed in #84, this PR adds an explicit result arity to the binary format. Thinking about this a bit more, it seemed like maybe we should have a symmetric...
I had mentioned this informally while talking to Luke previously, but it would be nice for the binary encoding to have the expected result-arity encoded directly in the start function...
Add a Typed Main proposal to the component model. [Rendered](https://github.com/Kylebrown9/component-model/blob/typed-main/design/mvp/CLIEmbedding.md)
Prior to #42, the Canonical ABI syntax used `core-prefix(core:idx)` for several `core:sort`s as part of the canon option syntax. This was slightly strange, since the `core-prefix` meta-rule is only defined...
This fixes a small typo in one of the examples in the explainer.
Currently, component definitions include both core-prefixed core aliases and component-level aliases. However, since the component-level sorts include core sorts (`sort ::= ... | core `), this leads to significant overlap....
The component AST permits multiple `start` functions. Currently, the canonical ABI mangles them with the cabi version number and the signature, so if two start functions have the same signature,...
Currently, the Canonical ABI is defined to simply insert function names as-is: https://github.com/WebAssembly/component-model/blob/4d412d98372222979a7d5531cbb42c08961f596d/design/mvp/canonical-abi/definitions.py#L1109-L1112 It's the same for field names, param names, etc. This means that functions which happen to have...
There are a couple cases where the canonical ABI's mangling of function signatures isn't valid according to WIT.md, specifically around optional types (note: I've left off the identifiers in WIT...
i'm reading https://github.com/WebAssembly/component-model/blob/main/design/mvp/Explainer.md namely, the example cited below. if i read it correctly, in the example `libc` instance exports its memory and `main` instance imports it. my understanding is that...