Skip to content

Commit e5c0ae6

Browse files
rvolosatovslukewagner
authored andcommitted
include type in scalar value definitions
#336 (comment) Signed-off-by: Roman Volosatovs <[email protected]>
1 parent 2524a46 commit e5c0ae6

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
@@ -358,18 +358,18 @@ Notes:
358358
value ::= t:<valtype> len:<uN> v:<val(t)> => (value t v) (where len = ||v||)
359359
val(bool) ::= 0x00 => false
360360
| 0x01 => true
361-
val(u8) ::= v:<core:byte> => v
362-
val(s8) ::= v:<core:byte> => v if v < 128 else (v - 256)
363-
val(s16) ::= v:<core:s16> => v
364-
val(u16) ::= v:<core:u16> => v
365-
val(s32) ::= v:<core:s32> => v
366-
val(u32) ::= v:<core:u32> => v
367-
val(s64) ::= v:<core:s64> => v
368-
val(u64) ::= v:<core:u64> => v
369-
val(f32) ::= v:<core:f32> => v (if !isnan(v))
370-
| 0x00 0x00 0xC0 0x7F => nan
371-
val(f64) ::= v:<core:f64> => v (if !isnan(v))
372-
| 0x00 0x00 0x00 0x00 0x00 0x00 0xF8 0x7F => nan
361+
val(u8) ::= v:<core:byte> => (u8 v)
362+
val(s8) ::= v:<core:byte> => (s8 v) if v < 128 else (v - 256)
363+
val(s16) ::= v:<core:s16> => (s16 v)
364+
val(u16) ::= v:<core:u16> => (u16 v)
365+
val(s32) ::= v:<core:s32> => (s32 v)
366+
val(u32) ::= v:<core:u32> => (u32 v)
367+
val(s64) ::= v:<core:s64> => (s64 v)
368+
val(u64) ::= v:<core:u64> => (u64 v)
369+
val(f32) ::= v:<core:f32> => (f32 v) (if !isnan(v))
370+
| 0x00 0x00 0xC0 0x7F => (f32 nan)
371+
val(f64) ::= v:<core:f64> => (f64 v) (if !isnan(v))
372+
| 0x00 0x00 0x00 0x00 0x00 0x00 0xF8 0x7F => (f64 nan)
373373
val(char) ::= v:<core:u32> => v (if v < 0xD800 or 0xE000 <= v <= 0x10FFFF)
374374
val(string) ::= v:<core:name> => v
375375
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
@@ -1383,30 +1383,30 @@ The validation rules for `value` require the `val` to match the `valtype`. For
13831383
```wasm
13841384
(component
13851385
(value $a bool true)
1386-
(value $b u8 1)
1387-
(value $c u16 2)
1388-
(value $d u32 3)
1389-
(value $e u64 4)
1390-
(value $f u8 5)
1391-
(value $g u16 6)
1392-
(value $h u32 7)
1393-
(value $i u64 8)
1394-
(value $j f32 9.1)
1395-
(value $k f64 9.2)
1386+
(value $b u8 (u8 1))
1387+
(value $c u16 (u16 2))
1388+
(value $d u32 (u32 3))
1389+
(value $e u64 (u64 4))
1390+
(value $f s8 (s8 5))
1391+
(value $g s16 (s16 6))
1392+
(value $h s32 (s32 7))
1393+
(value $i s64 (s64 8))
1394+
(value $j f32 (f32 9.1))
1395+
(value $k f64 (f64 9.2))
13961396
(value $l char 'a')
13971397
(value $m string "hello")
1398-
(value $n (record (field "a" bool) (field "b" u8)) (record true 1))
1399-
(value $o (variant (case "a" bool) (case "b" u8)) (variant "b" 1))
1398+
(value $n (record (field "a" bool) (field "b" u8)) (record true (u8 1)))
1399+
(value $o (variant (case "a" bool) (case "b" u8)) (variant "b" (u8 1)))
14001400
(value $p (list (result (option u8)))
14011401
(list
14021402
error
1403-
(ok (some 1))
1403+
(ok (some (u8 1)))
14041404
(ok none)
14051405
error
1406-
(ok (some 2))
1406+
(ok (some (u8 2)))
14071407
)
14081408
)
1409-
(value $q (tuple u8 u16 u32) (tuple 1 2 3))
1409+
(value $q (tuple u8 u16 u32) (tuple (u8 1) (u16 2) (u32 3)))
14101410
14111411
(type $abc (flags "a" "b" "c"))
14121412
(value $r $abc (flags "a" "c"))
@@ -1439,7 +1439,7 @@ The validation rules for `value` require the `val` to match the `valtype`. For
14391439
(tuple
14401440
(record
14411441
(some "example")
1442-
(tuple (some 42) "hello")
1442+
(tuple (some (u8 42)) "hello")
14431443
)
14441444
(list 'a' 'b' 'c')
14451445
(flags "b" "a")

0 commit comments

Comments
 (0)