From fcd8a3ecab8401715f29ff542839717f72b963e8 Mon Sep 17 00:00:00 2001 From: Luke Wagner Date: Thu, 18 Jun 2026 15:41:25 -0500 Subject: [PATCH 1/3] Add @external-id --- design/mvp/Binary.md | 72 ++++---- design/mvp/Explainer.md | 356 +++++++++++++++------------------------- design/mvp/WIT.md | 95 ++++++++--- 3 files changed, 242 insertions(+), 281 deletions(-) diff --git a/design/mvp/Binary.md b/design/mvp/Binary.md index d8e0a88b..94b04301 100644 --- a/design/mvp/Binary.md +++ b/design/mvp/Binary.md @@ -87,7 +87,7 @@ sort ::= 0x00 cs: => co | 0x03 => type | 0x04 => component | 0x05 => instance -inlineexport ::= n: si: => (export n si) +inlineexport ::= na: si: => (export na si) ``` Notes: * Reused Core binary rules: [`core:name`], (variable-length encoded) [`core:u32`] @@ -101,8 +101,8 @@ Notes: for aliases (below). * Validation of `core:instantiatearg` initially only allows the `instance` sort, but would be extended to accept other sorts as core wasm is extended. -* Validation of `instantiate` requires each `` in `c` to match a - `name` in a `with` argument (compared as strings) and for the types to +* Validation of `instantiate` requires each `` in `c` to match a + `name` in a `with` argument (using plain string equality) and for the types to match. * When validating `instantiate`, after each individual type-import is supplied via `with`, the actual type supplied is immediately substituted for all uses @@ -201,8 +201,8 @@ defvaltype ::= pvt: => pvt | 0x70 t: => (list t) | 0x67 t: len: => (list t len) (if len > 0) πŸ”§ | 0x6f t*:vec() => (tuple t+) (if |t*| > 0) - | 0x6e l*:vec() => (flags l+) (if 0 < |l*| <= 32) - | 0x6d l*:vec() => (enum l+) (if |l*| > 0) + | 0x6e l*:vec() => (flags l+) (if 0 < |l*| <= 32) + | 0x6d l*:vec() => (enum l+) (if |l*| > 0) | 0x6b t: => (option t) | 0x6a t?:? u?:? => (result t? (error u)?) | 0x69 i: => (own i) @@ -210,9 +210,9 @@ defvaltype ::= pvt: => pvt | 0x66 t?:? => (stream t?) πŸ”€ | 0x65 t?:? => (future t?) πŸ”€ | 0x63 k: v: => (map k v) (if k is in ) πŸ—ΊοΈ -labelvaltype ::= l: t: => l t -case ::= l: t?:? 0x00 => (case l t?) -label' ::= len: l: