The Holy Grail of AI programming is a language with the expressiveness of scripts, the generality of predicate logic, and the speed of FORTRAN. UNIFORM is one of the many recent proposals for such a language. Its most notable feature is the extension of unification far beyond simple syntactic pattern matching. This paper works out some of the interesting consequences of unification with equivalence, and describes the control algorithm that makes UNIFORM into a viable language.
The first part of the paper purports to be a tutorial exhibiting the features of UNIFORM. However, a companion paper [1] contains some crucial details, and the two papers should be read together. Most of UNIFORM’s features will be familiar to logic programmers; multiple uses of a program, computations on partially determined structures, and so forth. The examples do show the semantic nature of UNIFORM’s unification. Assertions in UNIFORM are fundamentally equivalences, which may be used in expression substitution at any time during a unification. While this is a simple and straightforward notion, the efficient use of equality remains an open problem. Kahn suggests a control language and heuristics (as have many others), but if these have been built for UNIFORM, I do not know of it. The control algorithm discussed in the paper links “description heads” (similar to predicate functors) together via the equivalence assertions that mention them. This is vaguely reminiscent of Rete [2], and in fact exhibits many of the same advantages and problems. There are several suggestions for improving efficiency; some have been implemented, some not.
UNIFORM accomplishes unification through the interesting concept of worlds. A world is a set of constraints on expressions, and amounts to a sort of module. It seems to have some prospects for parallelization of unification, although this was not tested. A world can be delayed, which facilitates lazy unification in the presence of disjunction; one could almost speak of coroutined unification.
This paper is quite useful for other seekers of the Holy Grail because of its sophisticated development of unification. Despite the tutorial material, the paper is perhaps too specialized to be of great interest to a general AI audience.