@@ -233,9 +233,9 @@ g: func(s: stream<T>) -> stuff;
233
233
```
234
234
` g(f(x)) ` works as you might hope, concurrently streaming ` x ` into ` f ` which
235
235
concurrently streams its results into ` g ` . If ` f ` has an error, it can close
236
- its returned ` stream<T> ` with an [ ` error ` ] ( Explainer.md#error-type ) value
237
- which ` g ` will receive along with the notification that its readable stream
238
- was closed.
236
+ its returned ` stream<T> ` with an [ ` error-context ` ] ( Explainer.md#error-context- type )
237
+ value which ` g ` will receive along with the notification that its readable
238
+ stream was closed.
239
239
240
240
If a component instance * would* receive the readable end of a stream for which
241
241
it already owns the writable end, the readable end disappears and the existing
@@ -516,7 +516,8 @@ For now, this remains a [TODO](#todo) and validation will reject `async`-lifted
516
516
517
517
Native async support is being proposed incrementally. The following features
518
518
will be added in future chunks roughly in the order list to complete the full
519
- "async" story:
519
+ "async" story, with a TBD cutoff between what's in [ WASI Preview 3] and what
520
+ comes after:
520
521
* ` nonblocking ` function type attribute: allow a function to declare in its
521
522
type that it will not transitively do anything blocking
522
523
* define what ` async ` means for ` start ` functions (top-level await + background
@@ -529,6 +530,8 @@ will be added in future chunks roughly in the order list to complete the full
529
530
* some way to say "no more elements are coming for a while"
530
531
* ` recursive ` function type attribute: allow a function to be reentered
531
532
recursively (instead of trapping) and link inner and outer activations
533
+ * add ` stringstream ` specialization of ` stream<char> ` (just like ` string ` is
534
+ a specialization of ` list<char> ` )
532
535
* allow pipelining multiple ` stream.read ` /` write ` calls
533
536
* allow chaining multiple async calls together ("promise pipelining")
534
537
* integrate with ` shared ` : define how to lift and lower functions ` async ` * and*
@@ -572,3 +575,5 @@ will be added in future chunks roughly in the order list to complete the full
572
575
[ stack-switching ] : https://github.com/WebAssembly/stack-switching/
573
576
[ JSPI ] : https://github.com/WebAssembly/js-promise-integration/
574
577
[ shared-everything-threads ] : https://github.com/webAssembly/shared-everything-threads
578
+
579
+ [ WASI Preview 3 ] : https://github.com/WebAssembly/WASI/tree/main/wasip2#looking-forward-to-preview-3
0 commit comments