Slide 28
Slide 28 text
• A module corresponds to a single .wasm
f
ile, with functions, memory, imports
and exports, and so on. These "core" modules can run in the browser, or via a
separate runtime as we have seen.
• Core modules are, however, limited in how they expose their functionality to the
outside world and return only a small number of core WASM types (essentially
only integers and
f
loating-point numbers)
• Richer types, such as strings, lists, records (a.k.a. structs), etc. have to be
represented in terms of integers and
f
loating point numbers, for example by the
use of pointers and o
ff
sets.
• For WASM modules to interoperate between them, there needs to be an agreed-
upon way for exposing those richer types across module boundaries.