Over the last few years, constraint-based grammar formalisms have become the predominant paradigm in natural language processing and computational linguistics. From the viewpoint of computer science, typed feature structures can be seen as a record-like data structure that allow the representation of linguistic knowledge in a uniform fashion.
Type expansion is an operation that makes the idiosyncratic and inherited constraints defined on a typed feature structure explicit and thus determines its satisfiability. We describe an efficient expansion algorithm that takes care of recursive type definitions and permits the exploration of different expansion strategies through the use of control knowledge. This knowledge is specified on a separate layer, independent of grammatical information. The algorithm, as presented in the paper, has been fully implemented in COMMON LISP and is an integrated part of the typed feature formalism TDL that is employed in several large NL projects.