Skip to content

Commit 88e6d8f

Browse files
committed
include type in scalar value definitions
#336 (comment) Signed-off-by: Roman Volosatovs <[email protected]>
1 parent dc2859f commit 88e6d8f

File tree

2 files changed

+28
-28
lines changed

2 files changed

+28
-28
lines changed

design/mvp/Binary.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -361,18 +361,18 @@ Notes:
361361
value ::= t:<valtype> len:<uN> v:<val(t)> => (value t v) (where len = ||v||)
362362
val(bool) ::= 0x00 => false
363363
| 0x01 => true
364-
val(u8) ::= v:<core:byte> => v
365-
val(s8) ::= v:<core:byte> => v if v < 128 else (v - 256)
366-
val(s16) ::= v:<core:s16> => v
367-
val(u16) ::= v:<core:u16> => v
368-
val(s32) ::= v:<core:s32> => v
369-
val(u32) ::= v:<core:u32> => v
370-
val(s64) ::= v:<core:s64> => v
371-
val(u64) ::= v:<core:u64> => v
372-
val(f32) ::= v:<core:f32> => v (if !isnan(v))
373-
| 0x00 0x00 0xC0 0x7F => nan
374-
val(f64) ::= v:<core:f64> => v (if !isnan(v))
375-
| 0x00 0x00 0x00 0x00 0x00 0x00 0xF8 0x7F => nan
364+
val(u8) ::= v:<core:byte> => (u8 v)
365+
val(s8) ::= v:<core:byte> => (s8 v) if v < 128 else (v - 256)
366+
val(s16) ::= v:<core:s16> => (s16 v)
367+
val(u16) ::= v:<core:u16> => (u16 v)
368+
val(s32) ::= v:<core:s32> => (s32 v)
369+
val(u32) ::= v:<core:u32> => (u32 v)
370+
val(s64) ::= v:<core:s64> => (s64 v)
371+
val(u64) ::= v:<core:u64> => (u64 v)
372+
val(f32) ::= v:<core:f32> => (f32 v) (if !isnan(v))
373+
| 0x00 0x00 0xC0 0x7F => (f32 nan)
374+
val(f64) ::= v:<core:f64> => (f64 v) (if !isnan(v))
375+
| 0x00 0x00 0x00 0x00 0x00 0x00 0xF8 0x7F => (f64 nan)
376376
val(char) ::= v:<core:u32> => v (if v < 0xD800 or 0xE000 <= v <= 0x10FFFF)
377377
val(string) ::= v:<core:name> => v
378378
val(i:<typeidx>) ::= v:<val(type-index-space[i])> => v

design/mvp/Explainer.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1390,30 +1390,30 @@ The validation rules for `value` require the `val` to match the `valtype`. For
13901390
```wasm
13911391
(component
13921392
(value $a bool true)
1393-
(value $b u8 1)
1394-
(value $c u16 2)
1395-
(value $d u32 3)
1396-
(value $e u64 4)
1397-
(value $f u8 5)
1398-
(value $g u16 6)
1399-
(value $h u32 7)
1400-
(value $i u64 8)
1401-
(value $j f32 9.1)
1402-
(value $k f64 9.2)
1393+
(value $b u8 (u8 1))
1394+
(value $c u16 (u16 2))
1395+
(value $d u32 (u32 3))
1396+
(value $e u64 (u64 4))
1397+
(value $f s8 (s8 5))
1398+
(value $g s16 (s16 6))
1399+
(value $h s32 (s32 7))
1400+
(value $i s64 (s64 8))
1401+
(value $j f32 (f32 9.1))
1402+
(value $k f64 (f64 9.2))
14031403
(value $l char 'a')
14041404
(value $m string "hello")
1405-
(value $n (record (field "a" bool) (field "b" u8)) (record true 1))
1406-
(value $o (variant (case "a" bool) (case "b" u8)) (variant "b" 1))
1405+
(value $n (record (field "a" bool) (field "b" u8)) (record true (u8 1)))
1406+
(value $o (variant (case "a" bool) (case "b" u8)) (variant "b" (u8 1)))
14071407
(value $p (list (result (option u8)))
14081408
(list
14091409
error
1410-
(ok (some 1))
1410+
(ok (some (u8 1)))
14111411
(ok none)
14121412
error
1413-
(ok (some 2))
1413+
(ok (some (u8 2)))
14141414
)
14151415
)
1416-
(value $q (tuple u8 u16 u32) (tuple 1 2 3))
1416+
(value $q (tuple u8 u16 u32) (tuple (u8 1) (u16 2) (u32 3)))
14171417
14181418
(type $abc (flags "a" "b" "c"))
14191419
(value $r $abc (flags "a" "c"))
@@ -1446,7 +1446,7 @@ The validation rules for `value` require the `val` to match the `valtype`. For
14461446
(tuple
14471447
(record
14481448
(some "example")
1449-
(tuple (some 42) "hello")
1449+
(tuple (some (u8 42)) "hello")
14501450
)
14511451
(list 'a' 'b' 'c')
14521452
(flags "b" "a")

0 commit comments

Comments
 (0)