FUF: Functional Unification Formalism Interpreter

SURGE: A Syntactic Realization Grammar for Text Generation

This is the home page of the FUF and SURGE packages. FUF is an interpreter written in CommonLisp for a functional unification based language specifically designed to develop text generation applications. SURGE is a comprehensive generation grammar of English written in FUF.
FUF has been developed by Michael Elhadad. SURGE has been developed by Michael Elhadad and Jacques Robin.


The packages are available under the terms of the GPL.


SURGE requires FUF. FUF is written in Common Lisp. The interpreter should work on any Common-Lisp. It has been tested on Lucid Common Lisp versions 2 to 4.0 on Sun 386, Sun3, and Sun4s, DEC stations and HP workstations. Allegro Common Lisp has been tested on Sun3s and Sun4 (sparcstations) and on NeXt machines. Allegro Common Lisp has been tested on the Macintosh II and PC Windows version 2 and 3. (Contact me for specific instructions about the PC version.) Ibuki Common Lisp has been tested on Suns. FUF has also been tested under the POPLOG version of Common Lisp. It should really be compiled to work honestly. Tail recursion elimination must be enabled to produce best results.

What is in the package:

The FUF package contains: The SURGE package contains:

Obtaining the packages:

Related material

The following papers and dissertations contain in-depth descriptions of FUF/SURGE related material:

Last modified Feb 6th, 1996 by Michael Elhadad