Its linguistic knowledge is derived from a collection of language descriptions that include both syntactic and semantic information, so it is not inherently limited to a particular language. It provides many of the same key bindings and text services as Emacs, including generalized undo, kill rings, text filling, customization, extension, and self-documentation. An editing interface coordinates the analysis and makes derived information accessible to users and client programs. Ladle represents a language grammar as an abstract syntax augmented by additional productions that make it possible to derive the concrete syntax from the abstract syntax. The two syntaxes are related by grammatical abstraction, which ensures that a straightforward and reversible transformation exists between them.
Colander is based on the notion of logical constraint grammars, expressed in a Prolog-like language.
An incremental evaluator monitors changes to the document and the derived information in Colander's database in order to maintain consistency between them. Users typically understand document structure in terms of structural components rather than syntax trees, naming those components using the specific terminology of the document's language. Pan therefore uses operand classes to designate kinds of document components. Operand classes define the textual units used for structure-oriented selection, navigation, highlighting, and editing. Expression and Statement are examples of language-specific operand classes.