The functional interface provides a full set of Data Manipulation and Data Definition functions. The interface provides an SQL-compatible means of querying and updating the database from Lisp. In particular, the values returned from the database are Lisp values -- thus smoothly integrating user applications with database transactions. An embedded syntax is provided for dynamically constructing sophisticated queries through
. Iteration is also provided via a mapping function and an extension to the
macro. If necessary, the basic functions
can be called with SQL statements expressed as strings. It is also possible to update or query the data dictionary.