Flora is a language for implementing object-oriented databases. As suc
h, it is not intended to be a user language, but rather, an intermedia
te language capable of supporting a variety of higher-level languages
and applications. Flora provides a very general data model with comple
x values and complex objects, constructs for specifying data storage,
and a functional-style action language that incorporates set processin
g operations and a user-defined function capability. Thus, Flora provi
des the building blocks that allow the calling language to appropriate
ly model higher-level constructs such as classes and inheritance, and
to build complex queries in a manner that readily supports various opt
imization schemes.