8 research outputs found
Recommended from our members
Extended Functional Unification ProGrammars
Functional Unification Grammars (PUGs) are popular for natural language applications because the formalism uses very few primitives and is uniform and expressive. In our work on text generation, we have found that it also has annoying limitations: it is not adapted to the expression of simple yet very common taxonomic relations and it does not allow easy manipulation of complex data-structures like lists or sets. We present in this paper a set of extensions that keep the desirable properties of the formalism but make it more flexible and easier to use. We first introduce the notion of typed features and typed constituents. Types define a structure over the set of primitive symbols used by the formalism. We then introduce extended unification: specialized unification methods can be defined for user-defined data-types. This extends the power of the system to handle complex data-structures efficiently. Taking advantage of a structured set of primitives and of specialized unification methods, the resulting formalism is more flexible, easier to use and produces better documented grammars than traditional functional unification. It can therefore be used to address deeper levels of text generation than was possible before
On the Static and Dynamic Extents of Delimited Continuations
We show that breadth-first traversal exploits the difference between the static delimited-control operator shift (alias S) and the dynamic delimited-control operator control (alias F). For the last 15 years, this difference has been repeatedly mentioned in the literature but it has only been illustrated with one-line toy examples. Breadth-first traversal fills this vacuum. We also point out where static delimited continuations naturally give rise to the notion of control stack whereas dynamic delimited continuations can be made to account for a notion of `control queue.'
IPL: Interfaced Prolog/Lisp
This thesis report describes the design and implementation of an interface between the two most common artificial intelligence languages, Lisp and Prolog. The interface is accomplished by small extensions to each language, and provides Prolog programs with the capability of invoking Lisp functions. The interface is simple yet powerful; it the supports passing of arbitrarily complex data objects, regardless of data type. The particular language implementations extended were C-Prolog [Pereira,85] and XLISP [Betz,86], both interpreters running under the Unix operating system
An Analytical Approach to Programs as Data Objects
This essay accompanies a selection of 32 articles (referred to in bold face in the text and marginally marked in the bibliographic references) submitted to Aarhus University towards a Doctor Scientiarum degree in Computer Science.The author's previous academic degree, beyond a doctoral degree in June 1986, is an "Habilitation à diriger les recherches" from the Université Pierre et Marie Curie (Paris VI) in France; the corresponding material was submitted in September 1992 and the degree was obtained in January 1993.The present 32 articles have all been written since 1993 and while at DAIMI.Except for one other PhD student, all co-authors are or have been the author's students here in Aarhus