Active templates are a semi-automatic visual mechanism for generating algorithms for manipulating pointer-based data structures. The programmer creates a picture showing the affected part of a data structure before and after a general-case manipulation. Code for the operation is compiled directly from the picture, which also provides the development environment with enough information to generate, automatically, a series of templates for other similar pictures, each describing a different configuration which the data structure may possess. The programmer completes the algorithm by creating matching after-pictures for each of these cases.
At every stage, most of the picture-generation is automatic. Much of the tedious detail of conventional pointer-based data-structure manipulation, such as maintenance of current pointers, is unnecessary in a system based on active templates