Skip to content
This repository was archived by the owner on Aug 17, 2022. It is now read-only.

Reframe Module Linking as the first proposal of the Component Model #35

Merged
merged 4 commits into from
Nov 16, 2021

Conversation

lukewagner
Copy link
Member

This PR keeps all the same concepts of the Module Linking proposal, but rewrites the entire proposal to be the start of a new spec (the Component Model) layered on top of Core WebAssembly (instead of adding these concepts to Core WebAssembly) as was decided way back in CG-05-25. This also means rebasing this repo onto the component-model repo instead of the core spec repo (done with a merge commit to avoid losing history).

Based on experience since the initial writing, this rewrite of the explainer is also hopefully more concrete, presenting a full AST for adapter modules in Explainer.md (broken into sections that describe each fragment of the AST in sequence) and a full binary decoding of the same AST in Binary.md. Since the proposal no longer adds new things to the existing core spec, the binary format does change significantly (but superficially). Incidentally, work has also started on a proper formal semantics and reference interpreter implementation (in the style of the Core spec repo), which will go into the spec directory of this repo as soon as it gets a bit farther along.

(I'll be out for a week after publishing this, so sorry in advance for delayed replies to comments.)

Copy link
Collaborator

@alexcrichton alexcrichton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything here looks good to me! I may have more comments in the future as we get to implementing this, but overall reading through the binary/explainer documents everything is as expected.

Copy link
Member

@rossberg rossberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great write-up, very easy to consume!

@lukewagner
Copy link
Member Author

@rossberg Thanks a bunch for the review! I addressed everything except as noted above. PTAL

@lukewagner
Copy link
Member Author

Ok, I'll go ahead and merge and happy to continue iterating via the usual issues and PRs. Thanks again Alex and Andreas.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants