WebAssembly / WebAssembly/component-model
Consider renaming `world` to `component`
Nobody has claimed this yet.
- Dominant language
- WebAssembly
- Stars
- 1.4k
- Forks
- 130
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 15
Description
In Wit, a "world" corresponds to a component. This took me too long to grasp, because "world" is a strange word for it. "World" has a notion of expanse, plurality, whole. Intuitively, it doesn't relate at all to component. In a sense, it means the exact opposite: whole vs part.
IIUC, the name "world" originated by taking the host perspective and looking at different hosts as different "worlds" that guest components can target. While sensible in this limited context, taking the perspective of the host at the boundary of the component universe, comes at the cost of clarity for components that fill that universe.
It seems to me the host itself can be seen as a component that the guest component plugs into. This built-in host component does have one special exception: not all its exports need to be fulfilled (the guest component can import only some of them).
It seems easier to me to look at the host boundary as a special component, than to look at every component as a special host boundary.
Consider renaming world to component.
For example,
package myorg:http@0.0.1
// ...
component proxy {
export incoming-handler
import outgoing-handler
}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the 17-comment discussion and the WIT example first. Determine the full naming scope for world and component, including whether existing host and guest terminology is affected. Done means an agreed terminology change with the relevant specification and examples updated, but the issue names no files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- wasm
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100