When creating Scheme bindings for a C programming interface with G-Wrap, one first needs to create a wrapset (see Wrapsets). Once a wrapset has been created and wrapped types and functions have been added to it, G-Wrap is ready to proceed with the generation of C code implementing these wrappings.
In the following sections, we will detail the protocol that is used to perform code generation. G-Wrap heavily uses GOOPS, Guile's object orientation framework, to this end (see GOOPS). This is what makes G-Wrap highly customizable: each of these code generation methods may be overloaded or redefined in order to meet the user's particular needs.
Most of the classes and methods involved in generation of C code are
defined in the