1. Introduction to GNU Dico

GNU Dico is an implementation of DICT dictionary server (described in RFC 2229) and a set of accompanying utilities. The GNU Dico server uses two-layer model. The protocol layer is responsible for correct DICT protocol dialog and is served by the dicod daemon itself. The database layer is responsible for look ups in dictionary databases. This layer is handled by external loadable modules. Thus, Dico does not impose any specific dictionary database format. A single server can handle databases in various formats, provided that appropriate modules are available. Several database modules are shipped with GNU Dico:

dictorg

This module provides full support for the format designed by the DICT development group (http://dict.org). This is a de facto standard for DICT databases. A number of dictionary databases in this format are provided by the FreeDict project (http://freedict.org).

guile

This module provides an interface to Guile, the GNU's Ubiquitous Intelligent Language for Extensions (http://www.gnu.org/software/guile) and allows to write database modules in Scheme programming language.

python

This module provides an interface to database modules written in Python (http://www.python.org).

outline

This module handles simple databases in GNU Emacs outline format. It is designed mostly for test purposes.

This manual describes how to configure and use the Dico dictionary system. It also describes the API for writing Dico database modules both in C and in Scheme.