Functions

Functions

Functions are one of the most important concepts in WAI. They are what guests and hosts use to expose functionality to each other, and have a name, parameters, and results.

Here are some examples:

thunk: func()
fibonacci: func(n: u32) -> u32
sleep: async func(ms: u64)

Most guests will map functions to top-level functions, while most hosts will expose functions as some sort of callable object which eventually calls into the relevant part of the WebAssembly virtual machine.

For more details, consult the Item: func section (opens in a new tab) in the *.wai format.