Chapter 7. WebAssembly Tables
The dinner table is the center for the teaching and practicing not just of table manners but of conversation, consideration, tolerance, family feeling, and just about all the other accomplishments of polite society except the minuet.
Judith Martin
The dinner table is a great metaphor for the sharing of ideas and stories. It is always more fun to join others than to eat by yourself. If you bring a bunch of people together from all walks of life, you can spur glorious, energetic conversation on a near infinite number of topics. Nobody has all of the stories. Some participants may share some aspects of the same stories. Others may have their own version. In order to function, however, there does have to be a certain amount of decorum, restraint, and willingness to accept what is given by the other participants. Dinner guests who misbehave, do not stop talking, or step on each other’s lines are going to ruin it for everyone.
Tables are another feature of WebAssembly that allow it to be a modern software system with functional dependencies that will be satisfied by additional modules. They provide the equivalent capability of a dynamic shared library compared to a statically linked library. The idea is that not every module needs to provide everything it requires to do its work. That would be horribly inefficient. Instead, it is written against the promise of some other module satisfying the need at runtime. That is called dynamic linking in the C and ...