The Zen Toolkit
Participant : Gérard Huet [ correspondent ] .
The Zen Toolkit is a library of finite state automata and transducers, called Zen for its simplicity. The algorithmic principles of the Zen library are based on the linear contexts data structure (“zippers”) and on the sharing functor (associative memory server)  . It has been developed by Gérard Huet and is being used in his Sanskrit modelling platform (see section 5.2 ). It allows the construction of lexicons, the computation of morphological derivatives and inflected forms, and the segmentation analysis of phonetic streams modulo euphony  .
The Zen Toolkit is implemented in an applicative kernel of Objective Caml, called Pidgin ML. It follows a literate programming style of documentation, using the program annotation tool Ocamlweb of Jean-Christophe Filliâtre, available for Ocaml. The Zen toolkit is distributed as free software (under the LGPL licence) in the Objective Caml Hump site as well as at URL http://sanskrit.inria.fr/ZEN/ . This development forms a significant symbolic manipulation software package within pure functional programming, which shows the feasibility of developing in the Ocaml system symbolic applications having good time and space performance, within a purely applicative methodology.
The Zen Toolkit has been used, e.g., to implement a lexicon of french flexed forms (Nicolas Barth and Sylvain Pogodalla, Calligramme project-team at Loria). It is also used by Aarne Ranta (Chalmers University) as a morphological engine of the Grammatical Frameworks software.