1.
Introduction
1.1.
WebAssembly
1.2.
Shared-nothing linking
1.3.
The hardest problem in computers 😉
1.4.
What's in a File?
1.5.
Compute and Metacompute
1.6.
POSIX is dynamically typed
2.
I/O Types
2.1.
I/O Types
2.2.
I/O Types (cont.)
2.3.
I/O Streams
2.4.
I/O Arrays
2.5.
Typed Main
2.6.
Errors
2.7.
Relationship to filesystem and sockets
2.8.
Other WASI APIs
3.
In Depth
3.1.
Are files streams or arrays?
3.2.
What about directories?
3.3.
Write-Once Run Anywhere?
3.4.
Compatibility with existing code
3.5.
Zero copy
3.6.
Async
3.7.
Data parallelism
3.8.
Things to come
Light (default)
Rust
Coal
Navy
Ayu
I/O Types for WASI
I/O Types
What is an I/O Type?
An abstraction for a common I/O pattern
Expose data, hide metadata
Strategy: Define a few simple I/O types now, add more over time.