The Typed Feature Structure (TFS) representation formalism is an attempt to provide a synthesis of several of the key concepts of unification-based grammar formalisms (feature structures), knowledge representation languages (inheritance) and logic programming (logical variables and declarativity). The inheritance-based constraint architecture embodied in the TFS system integrates two computational paradigms: the object-oriented approach offers complex, recursive, possibly nested, record objects represented as typed feature structures with attribute-value restrictions and (in)equality constraints, and multiple inheritance; the relational programming approach offers declarativity, logical variables, non-determinism with backtracking, and existential query evaluation. The interpreter of the formalism is described as a term rewriting system based on type unfolding where unification of typed feature structures is used to detect inconsistencies between a query and the constraints imposed by the feature type system.
The grammar writer organizes unification grammars as inheritance networks of typed feature structures. Complex linguistic structures are described by means of recursive type constraints which correspond to class definitions in object-oriented formalisms. The use of an object-oriented methodology with inheritance is very attractive for natural language processing and offers a number of advantages such as abstraction and generalization, information sharing, modularity and reusability of descriptions. Through the development of a wide variety of different applications it has been demonstrated that the formalism is flexible enough and well suited to represent the principles and parameters approach of modern computational linguistic theories. In particular, it has been successfully used for the encoding of HPSG grammar fragments and a bilingual machine translation system based on the shared-contents approach.