C.5 Extension API Design

This section documents the design of the extension API, including a discussion of some of the history and problems that needed to be solved.

The first version of extensions for gawk was developed in the mid-1990s and released with gawk 3.1 in the late 1990s. The basic mechanisms and design remained unchanged for close to 15 years, until 2012.

The old extension mechanism used data types and functions from gawk itself, with a “clever hack” to install extension functions.

gawk included some sample extensions, of which a few were really useful. However, it was clear from the outset that the extension mechanism was bolted onto the side and was not really well thought out.

Old Extension Problems    Problems with the old mechanism.
Extension New Mechanism Goals    Goals for the new mechanism.
Extension Other Design Decisions    Some other design decisions.
Extension Future Growth    Some room for future growth.