This chapter discusses how WebAssembly-based modules can be invoked by the runtime host and vice versa.
WebAssembly allows only numeric data types (integer and float) to pass between the host and the Wasm module. Since most of the functionality of programs depends on complex types like strings and other custom data types, a programmer must encode and decode these integers/floats into the specific data type.
Fortunately for languages like Rust, Mozilla has provided a toolchain ...