Skip to content

Commit fc4529d

Browse files
committed
Rename Explainer.md to Text.md
1 parent 6c48079 commit fc4529d

12 files changed

Lines changed: 72 additions & 72 deletions

‎README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,14 @@ To contribute to any of these repositories, see the Community Group's
4747
[Design Choices]: design/high-level/Choices.md
4848
[FAQ]: design/high-level/FAQ.md
4949
[WIT]: design/mvp/WIT.md
50-
[Text Format]: design/mvp/Explainer.md
50+
[Text Format]: design/mvp/Text.md
5151
[Binary Format]: design/mvp/Binary.md
5252
[Linking]: design/mvp/Linking.md
5353
[Concurrency]: design/mvp/Concurrency.md
5454
[ABI]: design/mvp/CanonicalABI.md
5555
[WAST test suite]: test/
5656
[formal spec]: spec/
57-
[Gated Features]: design/mvp/Explainer.md#gated-features
57+
[Gated Features]: design/mvp/Text.md#gated-features
5858
[W3C WebAssembly Community Group]: https://www.w3.org/community/webassembly/
5959
[Contributing Guidelines]: https://webassembly.org/community/contributing/
6060
[WASI]: https://github.com/WebAssembly/WASI

‎design/mvp/Binary.md‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Component Model Binary Format Explainer
22

33
This document defines the binary format for the AST defined in the
4-
[explainer](Explainer.md). The top-level production is `component` and the
4+
[explainer](Text.md). The top-level production is `component` and the
55
convention is that a file suffixed in `.wasm` may contain either a
66
[`core:module`] *or* a `component`, using the `layer` field to discriminate
77
between the two in the first 8 bytes (see [below](#component-definitions) for
@@ -12,13 +12,13 @@ rules, but rather merge the minimal need-to-know elements of both, with just
1212
enough detail to create a prototype. A complete definition of the binary format
1313
and validation will be present in the [formal specification](../../spec/).
1414

15-
See [Gated Features](Explainer.md#gated-features) for an explanation of emoji
15+
See [Gated Features](Text.md#gated-features) for an explanation of emoji
1616
annotations like 🪙 and 🔧.
1717

1818

1919
## Component Definitions
2020

21-
(See [Component Definitions](Explainer.md#component-definitions) in the explainer.)
21+
(See [Component Definitions](Text.md#component-definitions) in the explainer.)
2222
```ebnf
2323
component ::= <preamble> s*:<section>* => (component flatten(s*))
2424
preamble ::= <magic> <version> <layer>
@@ -58,7 +58,7 @@ Notes:
5858

5959
## Instance Definitions
6060

61-
(See [Instance Definitions](Explainer.md#instance-definitions) in the explainer.)
61+
(See [Instance Definitions](Text.md#instance-definitions) in the explainer.)
6262
```ebnf
6363
core:instance ::= ie:<core:instanceexpr> => (instance ie)
6464
core:instanceexpr ::= 0x00 m:<moduleidx> arg*:vec(<core:instantiatearg>) => (instantiate m arg*)
@@ -114,7 +114,7 @@ Notes:
114114

115115
## Alias Definitions
116116

117-
(See [Alias Definitions](Explainer.md#alias-definitions) in the explainer.)
117+
(See [Alias Definitions](Text.md#alias-definitions) in the explainer.)
118118
```ebnf
119119
alias ::= s:<sort> 0x00 i:<instanceidx> n:<name> => (alias export i n (s))
120120
| s:<sort> 0x01 i:<core:instanceidx> n:<core:name> => (alias core export i n (s))
@@ -137,7 +137,7 @@ Notes:
137137

138138
## Type Definitions
139139

140-
(See [Type Definitions](Explainer.md#type-definitions) in the explainer.)
140+
(See [Type Definitions](Text.md#type-definitions) in the explainer.)
141141
```ebnf
142142
core:type ::= dt:<core:deftype> => (type dt)
143143
core:deftype ::= rt:<core:rectype> => rt (WebAssembly 3.0)
@@ -276,7 +276,7 @@ Notes:
276276
`instancetype`. Thus, handle types inside a `componenttype` can only refer
277277
to resource types that are imported or exported.
278278
* `<label>` is defined as part of the
279-
[text format](Explainer.md#import-and-export-definitions).
279+
[text format](Text.md#import-and-export-definitions).
280280
* All parameter labels, result labels, record field labels, variant case
281281
labels, flag labels, enum case labels, component import names, component
282282
export names, instance import names and instance export names must be
@@ -294,7 +294,7 @@ Notes:
294294

295295
## Canonical Definitions
296296

297-
(See [Canonical Definitions](Explainer.md#canonical-definitions) in the explainer.)
297+
(See [Canonical Definitions](Text.md#canonical-definitions) in the explainer.)
298298
```ebnf
299299
canon ::= 0x00 0x00 f:<core:funcidx> opts:<opts> ft:<typeidx> => (canon lift f opts type-index-space[ft])
300300
| 0x01 0x00 f:<funcidx> opts:<opts> => (canon lower f opts (core func))
@@ -371,7 +371,7 @@ Notes:
371371

372372
## 🪙 Start Definitions
373373

374-
(See [Start Definitions](Explainer.md#start-definitions) in the explainer.)
374+
(See [Start Definitions](Text.md#start-definitions) in the explainer.)
375375
```ebnf
376376
start ::= f:<funcidx> arg*:vec(<valueidx>) r:<u32> => (start f (value arg)* (result (value))ʳ)
377377
```
@@ -393,7 +393,7 @@ flags are set.
393393

394394
## Import and Export Definitions
395395

396-
(See [Import and Export Definitions](Explainer.md#import-and-export-definitions)
396+
(See [Import and Export Definitions](Text.md#import-and-export-definitions)
397397
in the explainer.)
398398
```ebnf
399399
import ::= na:<nameattributes> et:<externtype> => (import na et)
@@ -416,7 +416,7 @@ Notes:
416416
`externtype` immediate is present, validation requires it to be a supertype
417417
of the inferred `externtype` of the `sortidx`.
418418
* `<externname>`, `<interfacename>` and `<semversuffix>` are defined as part of
419-
the [text format](Explainer.md#import-and-export-definitions).
419+
the [text format](Text.md#import-and-export-definitions).
420420
* The redundant `0x00`/`0x01` cases of `nameattributes` will
421421
[be cleaned up for a 1.0 release](#binary-format-warts-to-fix-in-a-10-release).
422422
* The `externname`s of all imports in a given component or component-type must
@@ -472,7 +472,7 @@ Notes:
472472

473473
## 🪙 Value Definitions
474474

475-
(See [Value Definitions](Explainer.md#value-definitions) in the explainer.)
475+
(See [Value Definitions](Text.md#value-definitions) in the explainer.)
476476

477477
```ebnf
478478
value ::= t:<valtype> len:<core:u32> v:<val(t)> => (value t v) (where len = ||v||)
@@ -594,7 +594,7 @@ named once.
594594
[`core:functype`]: https://webassembly.github.io/spec/core/binary/types.html#binary-functype
595595
[`core:rectype]: https://webassembly.github.io/gc/core/binary/types.html#recursive-types
596596

597-
[Strongly-unique]: Explainer.md#name-uniqueness
597+
[Strongly-unique]: Text.md#name-uniqueness
598598

599599
[type-imports]: https://github.com/WebAssembly/proposal-type-imports/blob/master/proposals/type-imports/Overview.md
600600
[module-linking]: https://github.com/WebAssembly/module-linking/blob/main/proposals/module-linking/Explainer.md

‎design/mvp/CanonicalABI.md‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This document defines the Canonical ABI used to convert between the values and
44
functions of components in the Component Model and the values and functions
5-
of modules in Core WebAssembly. See the [AST explainer](Explainer.md) for a
5+
of modules in Core WebAssembly. See the [AST explainer](Text.md) for a
66
walkthrough of the static structure of a component and the [concurrency
77
explainer] for a high-level description of the concurrency concepts being
88
specified here.
@@ -4817,7 +4817,7 @@ def canon_error_context_new(opts, ptr, tagged_code_units):
48174817
return [i]
48184818
```
48194819
Supporting the requirement (introduced in the
4820-
[explainer](Explainer.md#error-context-type)) that wasm code does not depend on
4820+
[explainer](Text.md#error-context-type)) that wasm code does not depend on
48214821
the contents of `error-context` values for behavioral correctness, the debug
48224822
message is completely discarded nondeterministically or, in the deterministic
48234823
profile, always. Importantly (for performance), when the debug message is
@@ -4984,13 +4984,13 @@ def canon_thread_available_parallelism():
49844984

49854985

49864986
[Virtualization Goals]: Goals.md
4987-
[Canonical Definitions]: Explainer.md#canonical-definitions
4988-
[`canonopt`]: Explainer.md#canonical-definitions
4989-
[`canon`]: Explainer.md#canonical-definitions
4990-
[Type Definitions]: Explainer.md#type-definitions
4991-
[Component Invariant]: Explainer.md#component-invariants
4992-
[JavaScript Embedding]: Explainer.md#JavaScript-embedding
4993-
[ESM-integration]: Explainer.md#esm-integration
4987+
[Canonical Definitions]: Text.md#canonical-definitions
4988+
[`canonopt`]: Text.md#canonical-definitions
4989+
[`canon`]: Text.md#canonical-definitions
4990+
[Type Definitions]: Text.md#type-definitions
4991+
[Component Invariant]: Text.md#component-invariants
4992+
[JavaScript Embedding]: Text.md#JavaScript-embedding
4993+
[ESM-integration]: Text.md#esm-integration
49944994
[Adapter Functions]: FutureFeatures.md#custom-abis-via-adapter-functions
49954995
[Shared-Everything Dynamic Linking]: examples/SharedEverythingDynamicLinking.md
49964996
[Concurrency Explainer]: Concurrency.md

‎design/mvp/Concurrency.md‎

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1541,32 +1541,32 @@ the concurrency story:
15411541
[`waitUntil`]: https://developer.mozilla.org/en-US/docs/Web/API/ExtendableEvent/waitUntil
15421542
[`setInterval`]: https://developer.mozilla.org/en-US/docs/Web/API/Window/setInterval
15431543

1544-
[AST Explainer]: Explainer.md
1545-
[Canonical Built-in]: Explainer.md#canonical-built-ins
1546-
[Component Invariant]: Explainer.md#component-invariants
1547-
[`context.get`]: Explainer.md#-contextget
1548-
[`context.set`]: Explainer.md#-contextset
1549-
[`backpressure.inc`]: Explainer.md#-backpressureinc-and-backpressuredec
1550-
[`backpressure.dec`]: Explainer.md#-backpressureinc-and-backpressuredec
1551-
[`task.return`]: Explainer.md#-taskreturn
1552-
[`task.cancel`]: Explainer.md#-taskcancel
1553-
[`subtask.cancel`]: Explainer.md#-subtaskcancel
1554-
[`waitable-set.new`]: Explainer.md#-waitable-setnew
1555-
[`waitable-set.wait`]: Explainer.md#-waitable-setwait
1556-
[`waitable-set.poll`]: Explainer.md#-waitable-setpoll
1557-
[`waitable.join`]: Explainer.md#-waitablejoin
1558-
[`thread.index`]: Explainer.md#-threadindex
1559-
[`thread.new-indirect`]: Explainer.md#-threadnew-indirect
1560-
[`thread.resume-later`]: Explainer.md#-threadresume-later
1561-
[`thread.suspend`]: Explainer.md#-threadsuspend
1562-
[`thread.yield`]: Explainer.md#-threadyield
1563-
[`thread.suspend-then-resume`]: Explainer.md#-threadsuspend-then-resume
1564-
[`thread.yield-then-resume`]: Explainer.md#-threadyield-then-resume
1565-
[`thread.suspend-then-promote`]: Explainer.md#-threadsuspend-then-promote
1566-
[`thread.yield-then-promote`]: Explainer.md#-threadyield-then-promote
1567-
[`{stream,future}.new`]: Explainer.md#-streamnew-and-futurenew
1568-
[`{stream,future}.{read,write}`]: Explainer.md#-streamread-and-streamwrite
1569-
[`stream.cancel-write`]: Explainer.md#-streamcancel-read-streamcancel-write-futurecancel-read-and-futurecancel-write
1544+
[AST Explainer]: Text.md
1545+
[Canonical Built-in]: Text.md#canonical-built-ins
1546+
[Component Invariant]: Text.md#component-invariants
1547+
[`context.get`]: Text.md#-contextget
1548+
[`context.set`]: Text.md#-contextset
1549+
[`backpressure.inc`]: Text.md#-backpressureinc-and-backpressuredec
1550+
[`backpressure.dec`]: Text.md#-backpressureinc-and-backpressuredec
1551+
[`task.return`]: Text.md#-taskreturn
1552+
[`task.cancel`]: Text.md#-taskcancel
1553+
[`subtask.cancel`]: Text.md#-subtaskcancel
1554+
[`waitable-set.new`]: Text.md#-waitable-setnew
1555+
[`waitable-set.wait`]: Text.md#-waitable-setwait
1556+
[`waitable-set.poll`]: Text.md#-waitable-setpoll
1557+
[`waitable.join`]: Text.md#-waitablejoin
1558+
[`thread.index`]: Text.md#-threadindex
1559+
[`thread.new-indirect`]: Text.md#-threadnew-indirect
1560+
[`thread.resume-later`]: Text.md#-threadresume-later
1561+
[`thread.suspend`]: Text.md#-threadsuspend
1562+
[`thread.yield`]: Text.md#-threadyield
1563+
[`thread.suspend-then-resume`]: Text.md#-threadsuspend-then-resume
1564+
[`thread.yield-then-resume`]: Text.md#-threadyield-then-resume
1565+
[`thread.suspend-then-promote`]: Text.md#-threadsuspend-then-promote
1566+
[`thread.yield-then-promote`]: Text.md#-threadyield-then-promote
1567+
[`{stream,future}.new`]: Text.md#-streamnew-and-futurenew
1568+
[`{stream,future}.{read,write}`]: Text.md#-streamread-and-streamwrite
1569+
[`stream.cancel-write`]: Text.md#-streamcancel-read-streamcancel-write-futurecancel-read-and-futurecancel-write
15701570
[Donut Wrapping]: Linking.md#higher-order-shared-nothing-linking-aka-donut-wrapping
15711571

15721572
[Canonical ABI Explainer]: CanonicalABI.md
@@ -1583,8 +1583,8 @@ the concurrency story:
15831583
[Binary Format]: Binary.md
15841584
[WIT]: WIT.md
15851585
[Blast Zone]: FutureFeatures.md#blast-zones
1586-
[`start`]: Explainer.md#start-definitions
1587-
[JS API]: Explainer.md#JS-API
1586+
[`start`]: Text.md#start-definitions
1587+
[JS API]: Text.md#JS-API
15881588

15891589
[Store]: https://webassembly.github.io/spec/core/exec/runtime.html#syntax-store
15901590
[Deterministic Profile]: https://webassembly.github.io/spec/versions/core/WebAssembly-3.0-draft.pdf#subsubsection*.798

‎design/mvp/FutureFeatures.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,6 @@ as originally proposed.
6969
[Adapter Functions]: https://github.com/WebAssembly/interface-types/blob/main/proposals/interface-types/Explainer.md#adapter-functions
7070
[Scoping and Layering Proposal]: https://docs.google.com/presentation/d/1PSC3Q5oFsJEaYyV5lNJvVgh-SNxhySWUqZ6puyojMi8
7171
[`list.lift_canon` and `list.lower_canon`]: https://github.com/WebAssembly/interface-types/blob/main/proposals/interface-types/Explainer.md#optimization-canonical-representation
72-
[Component Invariants]: Explainer.md#component-invariants
72+
[Component Invariants]: Text.md#component-invariants
7373
[GC-free Runtime Instantiation]: https://docs.google.com/presentation/d/1PSC3Q5oFsJEaYyV5lNJvVgh-SNxhySWUqZ6puyojMi8/edit#slide=id.gd06989d984_1_274
7474
[Core Module Linking]: https://github.com/WebAssembly/module-linking/blob/63cd6c0e3ac5c0cdb798a985790f51ccdd77af00/proposals/module-linking/Explainer.md

‎design/mvp/Linking.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,8 @@ future features of WIT and the Component Model.)
321321
[Canonical ABI]: CanonicalABI.md
322322
[Binary Format]: Binary.md
323323
[WIT]: WIT.md
324-
[`external-id`]: Explainer.md#import-and-export-definitions
325-
[ESM-integration]: Explainer.md#esm-integration
324+
[`external-id`]: Text.md#import-and-export-definitions
325+
[ESM-integration]: Text.md#esm-integration
326326

327327
[WebAssembly/tool-conventions]: https://github.com/WebAssembly/tool-conventions
328328
[WebAssembly Object File]: https://github.com/WebAssembly/tool-conventions/blob/main/Linking.md
File renamed without changes.

‎design/mvp/WIT.md‎

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ See [Gated Features] for an explanation of emoji like 🔧 and 🏷️.
2929

3030
[IDL]: https://en.wikipedia.org/wiki/Interface_description_language
3131
[components]: https://github.com/webassembly/component-model
32-
[Gated Features]: Explainer.md#gated-features
32+
[Gated Features]: Text.md#gated-features
3333

3434
## Package Names
3535

@@ -86,7 +86,7 @@ Package names are used to generate the [names of imports and exports]
8686
in the Component Model's representation of [`interface`s][interfaces] and
8787
[`world`s][worlds] as described [below](#package-format).
8888

89-
[names of imports and exports]: Explainer.md#import-and-export-definitions
89+
[names of imports and exports]: Text.md#import-and-export-definitions
9090

9191
## WIT Interfaces
9292
[interfaces]: #wit-interfaces
@@ -262,7 +262,7 @@ declared. In the case of worlds, all imported names are in the same scope,
262262
but separate from all the export names, and thus the same name can *not* be
263263
imported twice, but *can* be both imported and exported.
264264

265-
[Plain Name]: Explainer.md#import-and-export-definitions
265+
[Plain Name]: Text.md#import-and-export-definitions
266266

267267
### Union of Worlds with `include`
268268

@@ -824,7 +824,7 @@ defined within each language as well.
824824
[identifiers]: #wit-identifiers
825825

826826
Identifiers in WIT can be defined with two different forms. The first is the
827-
[kebab-case] [`label`](Explainer.md#import-and-export-names) production in the
827+
[kebab-case] [`label`](Text.md#import-and-export-names) production in the
828828
Component Model text format.
829829

830830
```wit
@@ -1421,7 +1421,7 @@ As a future extension, WIT, components and component registries may allow
14211421
nesting both namespaces and packages, which would then generalize the syntax of
14221422
`use-path` as suggested by the 🪺 suffixed rule.
14231423

1424-
[Interface Name]: Explainer.md#import-and-export-definitions
1424+
[Interface Name]: Text.md#import-and-export-definitions
14251425

14261426
## Item: `world`
14271427

@@ -1508,7 +1508,7 @@ world my-world {
15081508
}
15091509
```
15101510

1511-
[`componenttype`]: Explainer.md#type-definitions
1511+
[`componenttype`]: Text.md#type-definitions
15121512

15131513
## Item: `include`
15141514

@@ -1582,7 +1582,7 @@ replacing the `func` keyword with `get` or `set`. Such functions cannot be
15821582
async and have additional restrictions on their parameters and results as
15831583
defined in [Binary.md](Binary.md#import-and-export-definitions). Each setter
15841584
must have a corresponding getter with the same name (not just equal under
1585-
[strong uniqueness](Explainer.md#name-uniqueness)), though in WIT the getter
1585+
[strong uniqueness](Text.md#name-uniqueness)), though in WIT the getter
15861586
and setter may appear in any order. For example, the following definitions:
15871587

15881588
```wit
@@ -1801,7 +1801,7 @@ written return type and are given the implicit return type `r`.
18011801
📡 A resource statement can also contain any number of *getters* and
18021802
*setters*, which may or may not be static. Every setter must have a
18031803
corresponding getter with the same name (not just equal under [strong
1804-
uniqueness](Explainer.md#name-uniqueness)) and same static-ness, though the two
1804+
uniqueness](Text.md#name-uniqueness)) and same static-ness, though the two
18051805
may appear in any order. The parameter and return types of getters and setters
18061806
have extra restrictions defined in [Binary.md](Binary.md#import-and-export-definitions).
18071807

@@ -2052,7 +2052,7 @@ record bar2 {
20522052
[package-format]: #package-format
20532053

20542054
Each top-level WIT definition can be compiled into a single canonical
2055-
Component Model [type definition](Explainer.md#type-definitions) that
2055+
Component Model [type definition](Text.md#type-definitions) that
20562056
captures the result of performing the type resolution described above. These
20572057
Component Model types can then be exported by a component along with other
20582058
sorts of exports, allowing a single component to package both runtime
@@ -2069,7 +2069,7 @@ Using component binaries to package WIT in this manner has several advantages:
20692069
downstream tooling, similar to what has happened with the Core WebAssembly
20702070
WAT text format over time.
20712071
* When components are published in registries and assigned names (see the
2072-
discussion of naming in [Import and Export Definitions](Explainer.md#import-and-export-definitions)),
2072+
discussion of naming in [Import and Export Definitions](Text.md#import-and-export-definitions)),
20732073
WIT interfaces and worlds can be published with the same tooling and named
20742074
using the same `namespace:package/export` naming scheme.
20752075
* A single package can both contain an implementation and a collection of
@@ -2251,7 +2251,7 @@ able to be used to compile a component without additional type information.
22512251

22522252
🏷️ When a world imports or exports a named interface with a custom plain name
22532253
(using the `id: use-path` syntax), the encoding uses the `(implements "I")`
2254-
annotation defined in [Explainer.md](Explainer.md#import-and-export-definitions) to indicate which
2254+
annotation defined in [Text.md](Text.md#import-and-export-definitions) to indicate which
22552255
interface the instance implements. Note though that each copy implements a
22562256
unique version of the interface in question. For example, the following WIT:
22572257

@@ -2306,7 +2306,7 @@ The `(implements "local:demo/store")` prefix tells bindings generators and
23062306
toolchains which interface each plain-named instance import implements, while
23072307
the labels `one` and `two` provide distinct plain names. This is a case of
23082308
the general `(implements ..)` pattern described in
2309-
[Explainer.md](Explainer.md#import-and-export-definitions). Also note here that
2309+
[Text.md](Text.md#import-and-export-definitions). Also note here that
23102310
two copies of the `"bucket"` resource are imported for the `local:demo/w` world.
23112311
This is because the interfaces `one` and `two` duplicate the `store` interface.
23122312
Note that this can import just a single `bucket` resource by extracting out the

‎design/mvp/examples/SharedEverythingDynamicLinking.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ should be able to leverage off existing support for native dynamic linking (of
1313

1414
Shared-everything dynamic linking should be *complementary* to the
1515
shared-nothing dynamic linking of components described in the
16-
[explainer](../Explainer.md). In particular, dynamically-linked modules must not
16+
[explainer](../Text.md). In particular, dynamically-linked modules must not
1717
share linear memory across component instance boundaries. For example, we want
1818
the static dependency graph on the left to produce the runtime instance graph
1919
on the right:

‎test/validation/annotated-names.wast‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
;; Tests for `[constructor]`/`[method]`/`[static]` annotated plainnames
2-
;; (Explainer.md#import-and-export-definitions and the import/export
2+
;; (Text.md#import-and-export-definitions and the import/export
33
;; validation rules of Binary.md).
44

55
;; `[constructor]a` requires a single `(own $a)` or `(result (own $a) (error E)?)`

0 commit comments

Comments
 (0)