Daku v1.0.0-alpha.2
Daku is a system interface API similar to WASI with different goals.
Since it's currently alpha, things may change but changes are somewhat unlikely. Alpha, beta and pre-release stages will not last very long (once there is an implementation it will be fully stabilized).
Goals
- Async-First
- Immediately Stable
- Simple
- Reduced Syscalls
- Channel-Based
- Security via Portals
- Anti-POSIX
- Full Multimedia Support
API
The daku api exports a single function ar():
(import "daku" "ar" (func $event
(param $cmd_size i32) ;; List[Command].size
(param $cmd_data i32) ;; List[Command].reference
(result i32) ;; List[Uint32].size
))
The function queues a number of asynchronous tasks, passed as a list (first two
parameters). When any asynchronous task completes, it gets pushed to the ready
list and the function returns with the number of tasks that completed. Each
call to ar() clears the ready list.
Command
Channels
Channel 0 is special, and lets you connect to portals.
See portals for portal command APIs.
Types
Timestamp
Time
Date
DateTime
List
Text
TimeZone
Lang