WebAssembly / WASI

WebAssembly System Interface
Other
4.85k stars 251 forks source link

Simplify main WASI repo #451

Closed linclark closed 2 years ago

linclark commented 2 years ago

As discussed before in meetings, we've received feedback that the current structure of the WASI repo is confusing.

This PR significantly reduces the complexity of the repo structure. It does this by moving parts of the repo that will be obsoleted to a legacy directory, and editing and consolidating the rest.

It also introduces the idea of a proposal template, which I've created a first draft of.

This version of the restructure depends on #450.

sbc100 commented 2 years ago

Isn't wasi-libc still based on tools/witx and the files in phases/snapshot. I guess tools/witx is moving somewhere? And the witx files it processes are going to come from other repos? I think it might be good to show wasi-libc using whatever the new things is before we delete the old thing here.

linclark commented 2 years ago

I guess tools/witx is moving somewhere?

Alex has been working on a tool to replace tools/witx. This is the tool that supports the new syntax which he's been demonstrating in meetings over the past couple of months. The original tools/witx will move to the legacy directory.

And the witx files it processes are going to come from other repos?

Correct. This is a change that has been in the works since late last year with the push towards modularization.

I think it might be good to show wasi-libc using whatever the new things is before we delete the old thing here.

This makes sense to me.

lygstate commented 2 years ago

I guess tools/witx is moving somewhere?

Alex has been working on a tool to replace tools/witx. This is the tool that supports the new syntax which he's been demonstrating in meetings over the past couple of months. The original tools/witx will move to the legacy directory.

Where is the tool, when the tool to be merged?

And the witx files it processes are going to come from other repos?

Correct. This is a change that has been in the works since late last year with the push towards modularization.

I think it might be good to show wasi-libc using whatever the new things is before we delete the old thing here.

This makes sense to me.

linclark commented 2 years ago

Where is the tool, when the tool to be merged?

With this simplification, the tooling would live outside of this repo, in the wasi-tools repo (which Dan just created). Once that's done, the main WASI repo would focus on coordinating work at a higher level and helping people navigate to the various APIs that are a part of WASI.

Alex is prioritizing getting the replacement tooling up in that repo, so I expect it to be available there soon.

linclark commented 2 years ago

We won't be able to make a clean break with witx yet, so I updated this PR to leave the phases and tools directories in place. They will move to legacy once wit supports all APIs.

I'd like to merge this soon so that we're pointing new contributors in the right direction, so I'd ask that any word-smithing or nits be tackled in follow up PRs and that we focus comments on this PR on more substantial, structural concerns.