Parametrized Modules in Grammar Engineering

Aarne Ranta

Colloquium in Honor of Gérard Huet, Paris 22-23 June 2007

A parametrized modules, also known as a functor, is a program module that depends on a set of parameters (a signature). By instantiating the parameters, different programs can be obtained from the same code. Functors are an important part of the ML programming language. In the grammar formalism GF (Grammatical Framework), the functor system of ML has been adapted to enable sharing of grammars between different languages. The talk will introduce the module system of GF and present two applications of parametrized modules. In the first application, the signature is a system of syntactic categories and rules, which despite differences such as word order and agreement are realized in many different languages. Functors depending on this signature can define language-independent mappings from semantic structures to expressions in natural language. In the second application, the signature is a set of parameters that mark the differences between languages in the Romance family. The functor is a common grammar for Romance languages. From this, the grammars of Catalan, French, Italian, and Spanish are obtained as instantiations.