Catalogue of Artificial Intelligence Techniques
Categories: Automatic Programming , Theorem Proving
Author(s): P.M.D. Gray
A technique for generating a piece of program as a sequence of instructions (or as a composition of functions) from a set of clauses which specify constraints on data items. The data items are represented by tokens, some of which are replaced by list structures representing `recipes' or promises to construct the given items from other items. The clauses are run through an interpreter using Data-directed Control which finds an execution path. Instead of evaluating the computed result directly, it builds up a composed function or recipe. This composed function can be used in various ways:
- it can be transformed and optimised,
- if a target representation for the data is supplied, it can be compiled into code which freezes a fast execution path (or database search) that has been found by the interpreter,
- it can be interpreted directly using Lazy Evaluation in a Function Programming Language.
- Todd, S.J.P., The peterlee relational test vehicle IBM Systems Journal 15 (1976).